:root {
  --bg: #050416;
  --bg-elevated: #0c0b25;
  --bg-soft: #f6f5ff;
  /* Marca: azul + violeta; el rosa se reserva sobre todo para sombras y acentos suaves */
  --primary: #0b83fe;
  --accent: #7e33ee;
  --primary-soft: rgba(11, 131, 254, 0.14);
  --accent-soft: rgba(126, 51, 238, 0.14);
  --shadow-pink: rgba(227, 71, 159, 0.45);
  --shadow-pink-soft: rgba(227, 71, 159, 0.35);
  --text: #f9f7ff;
  --text-muted: #b7b4d6;
  --text-dark: #120f32;
  --border-subtle: rgba(255, 255, 255, 0.08);
  --radius-lg: 24px;
  --radius-md: 16px;
  --radius-pill: 999px;
  --shadow-soft: 0 18px 60px rgba(0, 0, 0, 0.32);
  --shadow-subtle: 0 14px 40px rgba(9, 6, 52, 0.18);
  --transition-fast: 160ms ease-out;
  --transition-med: 220ms ease-out;
  /* Elevación al hover en botones (translateY hacia arriba) */
  --btn-lift: -5px;
  /* Bloques temáticos: altura única (reposo = hover, sin crecer) */
  --theme-title-rest-y: 2.15rem;
  --theme-detail-rest-extra: 0.45rem;
  --theme-title-hover-y: -2.4rem;
  --theme-icon-hover-y: 0.5rem;
  --theme-icon-hover-scale: 0.38;
  --theme-card-h: 30.75rem;
  --theme-body-slot-h: 11.25rem;
  --theme-body-slot-h-long: 12.5rem;
  --theme-icon-size: 5.35rem;
  --theme-card-duration: 720ms;
  --theme-card-ease: cubic-bezier(0.33, 1, 0.42, 1);
  /* Títulos de sección (mismo criterio que «Por qué WTS es urgente») */
  --section-title-size: clamp(1.75rem, 4vw, 2.35rem);
  /* Encuentro Marcas (claro) ↔ vídeo */
  --sponsors-video-join: #ebe7fb;
  --sponsors-video-join-soft: #e2dcf7;
  /* Encuentro Bloques temáticos ↔ «Por qué WTS es urgente» (base del degradado datos) */
  --temas-datos-bridge: #08051e;
  /* Degradado morado Bloques temáticos / Comité (sin textura SVG) */
  --gradient-temas-only: linear-gradient(
    180deg,
    #473177 0%,
    #4c2681 22%,
    #461d84 45%,
    #301361 68%,
    #1f0e2f 78%,
    #10081e 90%,
    var(--temas-datos-bridge) 100%
  );
  /* Mismo fondo que «Aquí empieza tu conexión» (redes) y sección Comité */
  --gradient-redes-comite-bg: linear-gradient(180deg, #22c1ff 0%, #5a2cff 52%, #7b2cff 100%);
  /* Continuidad vertical: final de Speakers → Impacto WTS → Únete a WTS (misma base que .section-join-cta) */
  --gradient-impacto-to-unete: linear-gradient(
    180deg,
    #08062a 0%,
    #07061f 24%,
    #050416 52%,
    #050416 100%
  );
  --gradient-unete-cta: linear-gradient(180deg, #050416 0%, #08062a 70%, #082866 100%);
  /* Franja continua: desde Bloques temáticos → Impacto WTS */
  --gradient-temas-to-impacto: linear-gradient(
    180deg,
    #473177 0%,
    #461d84 22%,
    #301361 45%,
    #1f0e2f 62%,
    #10081e 72%,
    #11081f 82%,
    #0c0720 92%,
    #08062a 100%
  );
  /* Lámina sobre fondos foto: laterales suaves, centro más oscuro */
  --wts-bg-image-scrim: linear-gradient(
    90deg,
    rgba(5, 4, 22, 0.1) 0%,
    rgba(5, 4, 22, 0.18) 14%,
    rgba(5, 4, 22, 0.36) 30%,
    rgba(5, 4, 22, 0.5) 50%,
    rgba(5, 4, 22, 0.36) 70%,
    rgba(5, 4, 22, 0.18) 86%,
    rgba(5, 4, 22, 0.1) 100%
  );
  --wts-bg-image-scrim-strong: linear-gradient(
    90deg,
    rgba(5, 4, 22, 0.1) 0%,
    rgba(5, 4, 22, 0.2) 14%,
    rgba(5, 4, 22, 0.46) 30%,
    rgba(5, 4, 22, 0.7) 50%,
    rgba(5, 4, 22, 0.46) 70%,
    rgba(5, 4, 22, 0.2) 86%,
    rgba(5, 4, 22, 0.1) 100%
  );
  --wts-bg-image-scrim-veil: linear-gradient(
    180deg,
    rgba(5, 4, 22, 0.16) 0%,
    transparent 60%,
    rgba(5, 4, 22, 0.18) 100%
  );
  /* Impacto WTS: franja oscura ancha (~.container 1120px), costados con brillo */
  --wts-bg-image-scrim-impacto: linear-gradient(
    90deg,
    rgba(5, 4, 22, 0) 0%,
    rgba(5, 4, 22, 0.02) 4%,
    rgba(5, 4, 22, 0.06) 8%,
    rgba(5, 4, 22, 0.22) 11%,
    rgba(5, 4, 22, 0.5) 14%,
    rgba(5, 4, 22, 0.72) 16%,
    rgba(5, 4, 22, 0.82) 19%,
    rgba(5, 4, 22, 0.82) 81%,
    rgba(5, 4, 22, 0.72) 84%,
    rgba(5, 4, 22, 0.5) 86%,
    rgba(5, 4, 22, 0.22) 89%,
    rgba(5, 4, 22, 0.06) 92%,
    rgba(5, 4, 22, 0.02) 96%,
    rgba(5, 4, 22, 0) 100%
  );
}

@font-face {
  font-family: "Conthrax";
  src: url("../fonts/Conthrax-SemiBold.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

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

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  background: radial-gradient(circle at top left, #1b163f 0, #050416 42%, #02010b 100%);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden; /* Evita barra horizontal por sliders full-bleed */
}

/* ===== Continuidad visual entre secciones (sin “cortes”) ===== */
:is(
  #conecta-manifesto.section-connect-manifesto,
  #temas.section-light,
  #datos.section-datos-story,
  .section-datos-stats.section-datos,
  #comite.section-comite,
  #speakers.section-speakers,
  #indicadores.section-kpi
) {
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none;
}

/* Asegura que el contenido quede sobre el overlay del band */
.wts-continuous-band > .section {
  position: relative;
  z-index: 1;
}

/* Fondo único y continuo para TODA la franja de secciones */
.wts-continuous-band {
  position: relative;
  background:
    radial-gradient(ellipse 95% 75% at 50% -25%, rgba(126, 51, 238, 0.28) 0%, transparent 58%),
    radial-gradient(ellipse 55% 50% at 0% 100%, rgba(11, 131, 254, 0.14) 0%, transparent 55%),
    radial-gradient(ellipse 50% 45% at 100% 85%, rgba(227, 71, 159, 0.12) 0%, transparent 52%),
    var(--gradient-temas-to-impacto);
}

.wts-continuous-band::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: clamp(72px, 10vw, 140px);
  pointer-events: none;
  z-index: 0;
  /* Funde el morado final de Conéctate… con el inicio del band */
  background: linear-gradient(
    180deg,
    rgba(95, 65, 159, 0.92) 0%,
    rgba(95, 65, 159, 0.55) 32%,
    rgba(95, 65, 159, 0.18) 68%,
    rgba(95, 65, 159, 0) 100%
  );
}

.wts-continuous-band::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  /* Que el cierre (al final de “AQUI EMPIEZA TU CONEXIÓN”) termine más morado */
  background: linear-gradient(
    180deg,
    rgba(126, 51, 238, 0) 0%,
    rgba(126, 51, 238, 0) 70%,
    rgba(126, 51, 238, 0.22) 88%,
    rgba(126, 51, 238, 0.32) 100%
  );
}

/* Las secciones dentro de la franja no deben “reiniciar” el fondo */
.wts-continuous-band :is(
  #datos.section-datos-story,
  .section-datos-stats.section-datos,
  #conexion-redes.section-connect-social
) {
  background: transparent !important;
}

/* Brillo sutil en títulos dentro del fondo continuo */
.wts-continuous-band .section-header h2 {
  text-shadow:
    0 14px 44px rgba(126, 51, 238, 0.22),
    0 10px 36px rgba(34, 211, 238, 0.16),
    0 18px 56px rgba(227, 71, 159, 0.14);
}

/* Orbes neón + cristal: ocultas (no se muestran) */
.wts-continuous-band > .palette-floating-orbs {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
  display: none;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.55s ease,
    visibility 0.55s ease;
}

.wts-continuous-band > .palette-floating-orbs.is-visible {
  opacity: 0;
  visibility: hidden;
}

/* Contenedor: primera orbe mitad fuera por la izquierda */
.palette-floating-orbShell {
  position: absolute;
  display: inline-block;
  pointer-events: none;
}

.palette-floating-orbShell--peek {
  top: 10%;
  left: 0;
  transform: translateX(-50%);
  animation: palette-orb-peek-drift 13s ease-in-out infinite;
}

.palette-floating-orbShell--peek .palette-floating-orb--cyan {
  position: relative;
  top: auto;
  left: auto;
  animation: none;
}

.palette-floating-orb {
  position: absolute;
  display: block;
  width: clamp(101px, 16.8vw, 240px);
  height: clamp(101px, 16.8vw, 240px);
  border-radius: 50%;
  isolation: isolate;
  filter: saturate(1.02);
  background:
    radial-gradient(circle at 30% 26%, rgba(255, 255, 255, 0.28) 0%, transparent 38%),
    radial-gradient(circle at 72% 78%, var(--orb-tint, rgba(255, 255, 255, 0.2)) 0%, transparent 52%),
    conic-gradient(
      from 210deg at 50% 50%,
      rgba(255, 255, 255, 0.04) 0deg,
      transparent 55deg,
      rgba(255, 255, 255, 0.035) 110deg,
      transparent 200deg,
      rgba(0, 0, 0, 0.08) 300deg,
      rgba(255, 255, 255, 0.03) 360deg
    ),
    linear-gradient(158deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.02) 48%, rgba(0, 0, 0, 0.08) 100%);
  border: 1.5px solid rgba(255, 255, 255, 0.28);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 0 0 2px var(--orb-glow-inner, rgba(6, 144, 254, 0.12)) inset,
    0 0 18px var(--orb-glow-inner, rgba(6, 144, 254, 0.16)),
    0 0 36px var(--orb-glow-mid, rgba(6, 144, 254, 0.11)),
    0 0 64px var(--orb-glow-outer, rgba(6, 144, 254, 0.07)),
    0 22px 40px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  will-change: transform;
  animation: palette-orb-drift 14s ease-in-out infinite;
}

.palette-floating-orb::before {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow:
    0 0 8px var(--orb-glow-inner, rgba(6, 144, 254, 0.14)),
    inset 0 0 18px rgba(255, 255, 255, 0.04);
  opacity: 0.55;
  pointer-events: none;
}

.palette-floating-orb::after {
  content: "";
  position: absolute;
  inset: 8%;
  border-radius: 50%;
  background: repeating-conic-gradient(
    from 0deg,
    transparent 0deg 11deg,
    rgba(255, 255, 255, 0.03) 11deg 12deg
  );
  opacity: 0.32;
  mix-blend-mode: overlay;
  pointer-events: none;
  animation: palette-orb-hud-spin 22s linear infinite;
}

.palette-floating-orb--cyan {
  --orb-tint: rgba(77, 200, 255, 0.26);
  --orb-glow-inner: rgba(6, 144, 254, 0.28);
  --orb-glow-mid: rgba(6, 144, 254, 0.18);
  --orb-glow-outer: rgba(6, 144, 254, 0.1);
}

.palette-floating-orb--violet {
  --orb-tint: rgba(181, 111, 255, 0.28);
  --orb-glow-inner: rgba(134, 55, 250, 0.3);
  --orb-glow-mid: rgba(134, 55, 250, 0.18);
  --orb-glow-outer: rgba(134, 55, 250, 0.1);
  top: 36%;
  right: 2%;
  left: auto;
  animation-delay: -4s;
  animation-duration: 16s;
}

/* Portal concéntrico (referencia): solo orbe violeta / derecha */
.palette-floating-orb--violet.palette-floating-orb--portal {
  background:
    radial-gradient(circle at 30% 18%, rgba(200, 255, 255, 0.1) 0%, transparent 38%),
    radial-gradient(circle at 72% 82%, rgba(134, 55, 250, 0.12) 0%, transparent 48%),
    radial-gradient(
      circle at 50% 50%,
      rgba(8, 10, 28, 0.38) 0%,
      rgb(22 64 155) 52%,
      rgb(11 34 74) 100%
    );
  border: 1px solid rgba(130, 240, 255, 0.2);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 0 22px rgba(6, 144, 254, 0.22),
    0 0 44px rgba(134, 55, 250, 0.16),
    0 0 72px rgba(6, 144, 254, 0.08),
    0 18px 36px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  filter: saturate(1.02) drop-shadow(0 0 12px rgba(6, 144, 254, 0.14));
}

.palette-floating-orb--portal::before,
.palette-floating-orb--portal::after {
  content: none;
  display: none;
}

.palette-orb-portal-svg {
  position: absolute;
  left: 9%;
  top: 9%;
  width: 82%;
  height: 82%;
  display: block;
  overflow: visible;
  opacity: 0.72;
}

.palette-orb-portal-tunnel {
  transform-origin: 50px 50px;
  animation: palette-portal-tunnel-rotate 78s linear infinite;
}

@keyframes palette-portal-tunnel-rotate {
  to {
    transform: rotate(360deg);
  }
}

.palette-floating-orb--rose {
  --orb-tint: rgba(255, 190, 225, 0.22);
  --orb-glow-inner: rgba(241, 123, 198, 0.2);
  --orb-glow-mid: rgba(241, 123, 198, 0.13);
  --orb-glow-outer: rgba(255, 170, 210, 0.07);
  /* Un poco más amplia para que no se sienta tan compacta */
  width: clamp(84px, 13.4vw, 192px);
  height: clamp(84px, 13.4vw, 192px);
  bottom: 13%;
  left: 24%;
  top: auto;
  animation-delay: -7s;
  animation-duration: 18s;
  filter: saturate(1);
  background:
    radial-gradient(circle at 28% 22%, rgba(255, 255, 255, 0.32) 0%, transparent 44%),
    radial-gradient(circle at 68% 78%, rgba(255, 200, 230, 0.22) 0%, transparent 56%),
    conic-gradient(
      from 200deg at 50% 50%,
      rgba(255, 255, 255, 0.05) 0deg,
      transparent 58deg,
      rgba(255, 248, 252, 0.04) 115deg,
      transparent 205deg,
      rgba(255, 186, 218, 0.06) 295deg,
      rgba(255, 255, 255, 0.035) 360deg
    ),
    linear-gradient(165deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 242, 248, 0.08) 48%, rgba(255, 200, 224, 0.05) 100%);
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.08) inset,
    0 0 0 2px rgba(255, 210, 235, 0.1) inset,
    0 0 22px rgba(241, 123, 198, 0.14),
    0 0 44px rgba(241, 123, 198, 0.09),
    0 0 68px rgba(255, 170, 205, 0.05),
    0 20px 32px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(26px);
  -webkit-backdrop-filter: blur(26px);
}

.palette-floating-orb--rose::before {
  opacity: 0.42;
  box-shadow:
    0 0 12px rgba(241, 123, 198, 0.12),
    inset 0 0 26px rgba(255, 255, 255, 0.06);
}

.palette-floating-orb--rose::after {
  inset: 10%;
  opacity: 0.36;
  background: repeating-conic-gradient(
    from 0deg,
    transparent 0deg 17deg,
    rgba(255, 255, 255, 0.032) 17deg 18deg
  );
}

@keyframes palette-orb-peek-drift {
  0%,
  100% {
    transform: translate3d(-50%, 0, 0) scale(1);
  }
  33% {
    transform: translate3d(calc(-50% + 12px), -18px, 0) scale(1.03);
  }
  66% {
    transform: translate3d(calc(-50% - 10px), 14px, 0) scale(0.98);
  }
}

@keyframes palette-orb-drift {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  33% {
    transform: translate3d(14px, -22px, 0) scale(1.04);
  }
  66% {
    transform: translate3d(-12px, 16px, 0) scale(0.97);
  }
}

@keyframes palette-orb-hud-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .palette-floating-orb,
  .palette-floating-orbShell--peek {
    animation: none;
  }

  .palette-floating-orb::after {
    animation: none;
  }

  .palette-orb-portal-tunnel {
    animation: none;
  }
}

/* —— Dirigido a —— */
.section-directed {
  background: linear-gradient(180deg, #6741a2 0%, #6b44a5 4%, #6a43a4 9%, #6a43a4 14%, #6a43a4 18%, #5f419f 24%, #4a3a82 32%, #2e2858 40%, rgba(17, 37, 75, 0.55) 48%, rgba(17, 37, 75, 0) 58%), linear-gradient(90deg, #11254b 0%, #271d5a 50%, #391764 100%);
  padding-top: 1.35rem;
  padding-bottom: 1.35rem;
}

.directed-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.35rem;
  align-items: stretch;
}

.directed-card {
  position: relative;
  padding: calc(1.25rem + 2px) calc(1.15rem + 2px) calc(1.2rem + 2px);
  border-radius: 1.35rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(8, 6, 28, 0.45);
  box-shadow:
    0 18px 56px rgba(0, 0, 0, 0.25),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  text-align: center;
  overflow: hidden;
  transition:
    transform var(--transition-med),
    box-shadow var(--transition-med),
    border-color var(--transition-med);
}

.directed-card:hover,
.directed-card:focus-within {
  transform: translateY(-4px);
  border-color: rgba(227, 71, 159, 0.42);
  box-shadow:
    0 24px 72px rgba(227, 71, 159, 0.22),
    0 18px 52px rgba(0, 0, 0, 0.28),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset;
}

.directed-card:hover .directed-diamond,
.directed-card:focus-within .directed-diamond {
  box-shadow:
    0 0 26px rgba(227, 71, 159, 0.25),
    0 0 28px rgba(126, 51, 238, 0.18),
    0 0 30px rgba(34, 211, 238, 0.12);
}

.directed-card::before {
  content: "";
  position: absolute;
  inset: -2px;
  pointer-events: none;
  opacity: 0.55;
  background:
    radial-gradient(circle at 22% 18%, rgba(34, 211, 238, 0.14) 0%, transparent 45%),
    radial-gradient(circle at 78% 22%, rgba(227, 71, 159, 0.14) 0%, transparent 48%),
    radial-gradient(circle at 50% 100%, rgba(126, 51, 238, 0.16) 0%, transparent 52%);
}

.directed-icon {
  position: relative;
  margin: 0 auto 0.95rem;
  width: 4.2rem;
  height: 4.2rem;
  display: grid;
  place-items: center;
}

.directed-diamond {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 0.9rem;
  transform: rotate(45deg);
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(11, 131, 254, 0.22) 0%, rgba(126, 51, 238, 0.32) 55%, rgba(227, 71, 159, 0.22) 100%);
  border: 1px solid rgba(255, 255, 255, 0.35);
  box-shadow:
    0 0 22px rgba(126, 51, 238, 0.25),
    0 0 26px rgba(34, 211, 238, 0.16),
    0 0 30px rgba(227, 71, 159, 0.14);
}

.directed-diamond .ui-icon {
  width: 1.55rem;
  height: 1.55rem;
  transform: rotate(-45deg);
  color: #f9f7ff;
  filter: drop-shadow(0 0 14px rgba(255, 255, 255, 0.22));
}

.directed-title {
  margin: 0 0 0.55rem;
  font-family: "Conthrax", "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  font-size: calc(1.05rem + 2px);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.95);
  text-wrap: balance;
}

.directed-copy {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: rgba(235, 232, 255, 0.9);
  text-shadow: 0 0 24px rgba(126, 51, 238, 0.14);
}

@media (max-width: 1024px) {
  .directed-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .directed-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .directed-card {
    text-align: center;
  }

  .directed-icon {
    margin-left: auto;
    margin-right: auto;
  }
}

/* —— Industries represented —— */
.section-industries {
  background: linear-gradient(
    180deg,
    rgba(57, 23, 100, 0.35) 0%,
    #2e2858 18%,
    #321a62 55%,
    #2a2550 100%
  );
  padding-top: 1.25rem;
  padding-bottom: 2.15rem;
}

.section-header--industries {
  margin-bottom: 1.15rem;
}

.section-header--industries h2 {
  margin: 0;
  font-family: "Conthrax", "Poppins", system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(1.05rem, 2.4vw, 1.35rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.95);
  text-shadow:
    0 0 18px rgba(126, 51, 238, 0.35),
    0 0 32px rgba(34, 211, 238, 0.12);
}

.industries-swiper {
  padding-bottom: 2.15rem;
  overflow: hidden;
}

.industries-swiper .swiper-slide {
  height: auto;
}

.industry-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 6.75rem;
  padding: 0.9rem 0.65rem 0.85rem;
  border-radius: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(8, 6, 28, 0.42);
  box-shadow:
    0 12px 32px rgba(0, 0, 0, 0.22),
    0 0 0 1px rgba(255, 255, 255, 0.05) inset;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition:
    transform var(--transition-med),
    border-color var(--transition-med),
    box-shadow var(--transition-med);
}

.industry-card:hover {
  transform: translateY(-3px);
  border-color: rgba(200, 85, 247, 0.45);
  box-shadow:
    0 16px 38px rgba(134, 55, 250, 0.22),
    0 10px 28px rgba(0, 0, 0, 0.24);
}

.industry-card__icon {
  display: grid;
  place-items: center;
  width: 2.65rem;
  height: 2.65rem;
  border-radius: 0.75rem;
  background: linear-gradient(135deg, rgba(11, 131, 254, 0.2) 0%, rgba(134, 55, 250, 0.28) 55%, rgba(227, 71, 159, 0.18) 100%);
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow: 0 0 18px rgba(126, 51, 238, 0.2);
}

.industry-card__icon .ui-icon {
  width: 1.25rem;
  height: 1.25rem;
  color: #f4f2ff;
  filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.18));
}

.industry-card__name {
  margin: 0;
  font-family: "Poppins", system-ui, sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.25;
  text-align: center;
  color: rgba(245, 243, 255, 0.94);
}

.industries-pagination.swiper-pagination-bullets {
  bottom: 0.15rem;
}

.industries-pagination .swiper-pagination-bullet {
  width: 0.45rem;
  height: 0.45rem;
  background: rgba(255, 255, 255, 0.35);
  opacity: 1;
}

.industries-pagination .swiper-pagination-bullet-active {
  background: #c855f7;
  box-shadow: 0 0 10px rgba(200, 85, 247, 0.65);
}

/* Impacto en franja: lámina sobre img/fondo2.png */
.wts-continuous-band #indicadores.section-kpi.section-dark::before {
  display: block;
  background: var(--wts-bg-image-scrim-veil), var(--wts-bg-image-scrim-impacto);
}

/* Ritmo vertical más compacto: Historias → cifras → Comité → Speakers → Impacto → Galería */
.wts-continuous-band #datos.section-datos-story {
  padding-top: calc(2.6rem * 1.15);
  padding-bottom: 2.35rem;
}

.wts-continuous-band .section-datos-stats.section-datos {
  padding-top: 1rem;
  padding-bottom: 2.35rem;
}

.wts-continuous-band #comite.section-comite {
  padding-top: 2.25rem;
  padding-bottom: 2.25rem;
}

.wts-continuous-band #speakers.section-speakers {
  padding-top: 2.25rem;
  padding-bottom: 2.25rem;
}

.wts-continuous-band #indicadores.section-kpi {
  padding-top: 2.15rem;
  padding-bottom: 2.6rem;
}

.wts-continuous-band #galeria.section-gallery {
  padding-top: 2.35rem;
  padding-bottom: 2.5rem;
}

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

/* Iconos locales (sprite SVG): sustituye Font Awesome en carga */
.ui-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  flex-shrink: 0;
  overflow: visible;
  fill: currentColor;
}

.ui-icon use {
  pointer-events: none;
}

.join-cta-icon .ui-icon {
  width: 1.35rem;
  height: 1.35rem;
}

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

button,
input,
select,
textarea {
  font-family: inherit;
}

.container {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.section {
  padding: 5rem 0;
}

.section-light {
  background: var(--bg-soft);
  color: var(--text-dark);
}

#sponsors.section-light,
#institutions.section-light {
  background: white;
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}

@media (max-width: 768px) {
  #sponsors.section-light {
    padding-top: 3rem;
    padding-bottom: 3rem;
    box-shadow:
      0 14px 32px -8px rgba(2, 1, 10, 0.14),
      0 6px 16px -6px rgba(6, 8, 30, 0.1);
  }
}

#sponsors.section-light .section-header,
#institutions.section-light .section-header {
  margin-bottom: 1.75rem;
}

#institutions.section-light {
  padding-top: 2.5rem;
}

/* + conecta | inspira | lidera: claro arriba (título legible), transición suave; oscuro más contenido abajo */
.section-connect-manifesto {
  position: relative;
  padding-top: 2.75rem;
  padding-bottom: 2.75rem;
  overflow-x: clip;
  color: var(--text);
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #fbfaff 22%,
    #efeaff 44%,
    #cdbdff 62%,
    #9b7cff 78%,
    #5f419f 100%
  );
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.section-connect-manifesto::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.38;
  background:
    radial-gradient(circle at 14% 18%, rgba(132, 99, 255, 0.2) 0%, transparent 42%),
    radial-gradient(circle at 86% 10%, rgba(227, 71, 159, 0.12) 0%, transparent 40%),
    radial-gradient(circle at 72% 92%, rgba(11, 131, 254, 0.08) 0%, transparent 38%);
  /* Más luz en la franja del título; el velado se concentra bajo el vídeo */
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.18) 18%, #000 42%);
  mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.18) 18%, #000 42%);
}

.connect-manifesto-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
  gap: 0;
  align-items: center;
  width: 100%;
  margin: 0 auto;
  background: #ffffff;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid rgba(227, 71, 159, 0.18);
  box-shadow:
    0 22px 70px rgba(227, 71, 159, 0.22),
    0 10px 40px rgba(127, 93, 255, 0.14),
    0 0 0 1px rgba(255, 255, 255, 0.55) inset;
}

@media (min-width: 769px) {
  .connect-manifesto-grid {
    padding-right: 0;
  }
}

.connect-manifesto-copy {
  color: var(--text-dark);
  padding: clamp(1.4rem, 2.6vw, 2.35rem);
  padding-right: clamp(1.2rem, 2.2vw, 2rem);
}

.connect-manifesto-title {
  margin: 0;
  font-family: "Conthrax", "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  font-size: clamp(1.6rem, 3.9vw, 2.6rem);
  letter-spacing: 0.01em;
  line-height: 1.05;
  text-wrap: balance;
  text-transform: uppercase;
  color: #14122a;
  display: flex;
  flex-direction: column;
  gap: 0.12em;
  text-shadow:
    /* Cyan (como stat-card--cyan) */
    0 10px 34px rgba(34, 211, 238, 0.28),
    /* Lila (como stat-card--lilac) */
    0 12px 42px rgba(126, 51, 238, 0.22),
    /* Magenta (como stat-card--magenta) */
    0 14px 46px rgba(227, 71, 159, 0.18);
}

.connect-word {
  display: block;
  line-height: 0.95;
}

.connect-word--cyan,
.connect-word--lilac,
.connect-word--magenta {
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.connect-word--cyan {
  background-image: linear-gradient(90deg, #0b83fe 0%, #22d3ee 100%);
  text-shadow: 0 14px 42px rgba(34, 211, 238, 0.22);
}

.connect-word--lilac {
  background-image: linear-gradient(90deg, #7e33ee 0%, #a78bfa 100%);
  text-shadow: 0 14px 42px rgba(126, 51, 238, 0.22);
}

.connect-word--magenta {
  background-image: linear-gradient(90deg, #e3479f 0%, #f5b8dc 100%);
  text-shadow: 0 14px 42px rgba(227, 71, 159, 0.2);
}

.connect-manifesto-sep {
  margin: 0 0.4em;
  color: rgba(55, 48, 108, 0.55);
  font-weight: 400;
}

.connect-manifesto-lead {
  margin: 1rem 0 0;
  max-width: 36rem;
  font-size: 1.02rem;
  line-height: 1.65;
  color: rgba(18, 15, 50, 0.78);
}

.connect-manifesto-media {
  display: flex;
  justify-content: flex-end;
  align-self: stretch;
  border-left: 1px solid rgba(18, 15, 50, 0.08);
}

.connect-video-frame {
  width: 100%;
  max-width: 100%;
  border-radius: 0;
  overflow: hidden;
  box-shadow:
    0 20px 60px rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(255, 255, 255, 0.06);
}

.connect-manifesto-video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 0;
}

@media (prefers-reduced-motion: reduce) {
  .connect-video-frame {
    width: 100% !important;
  }
}

@media (max-width: 640px) {
  .connect-manifesto-sep {
    margin: 0 0.25em;
  }
}

/* Móvil: sin carril sticky largo (evita gran hueco vacío bajo el vídeo) */
@media (max-width: 768px) {
  .section-connect-manifesto {
    padding-top: 1.35rem;
    background: #ffffff;
    box-shadow: none;
  }

  .section-connect-manifesto::before {
    opacity: 0;
  }

  .connect-manifesto-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.35rem;
    width: auto;
    margin: 0;
    overflow: visible;
    border-radius: 0;
    background: transparent;
    border: none;
    box-shadow: none;
  }

  .connect-video-frame {
    width: 100%;
    border-radius: var(--radius-md);
  }

  .connect-manifesto-copy {
    padding: 0;
  }

  .connect-manifesto-media {
    border-left: none;
  }
}

/* Bloques temáticos: imagen de fondo (fija al viewport; no escala al crecer las cards) */
#temas.section-light {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: #1f0e2f;
  color: var(--text-dark);
  /* Aire vertical: +15% base; +15% extra arriba del título de sección */
  padding-top: calc(2.35rem * 1.15 * 1.15);
  padding-bottom: calc(3.25rem * 1.15 * 1.15);
}

#temas.section-light::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url("../img/fondo1.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  opacity:0.7;
}

#temas.section-light::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: var(--wts-bg-image-scrim-veil), var(--wts-bg-image-scrim-strong);
}

#temas.section-light .section-header h2 {
  color: #ffffff;
  font-size: clamp(2.2rem, 4.8vw, 3.1rem);
  letter-spacing: 0;
}

#temas.section-light .section-header p {
  color: rgba(255, 255, 255, 0.9);
}

#temas.section-light .container {
  position: relative;
  z-index: 1;
}

/* Cabecera por encima de la onda decorativa (posición absoluta, fuera del flujo) */
#temas.section-light .section-header {
  position: relative;
  z-index: 1;
}

/* Comité */
#comite.section-comite {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  color: var(--text);
  padding-bottom: 3.75rem;
  background: linear-gradient(180deg, #1a0e3f 0%, #311363 100%);
}

#comite.section-comite .section-header h2 {
  color: #ffffff;
}

#comite.section-comite .container {
  position: relative;
  z-index: 1;
}

/* Lucero y Eliana: fila centrada sobre el carousel — mismo ancho por card que un slide Swiper Comité */
#comite.section-comite .comite-featured {
  /* Igual que .comite-swiper: el comité es full-bleed, no el ancho del .container */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-bottom: 2.25rem;
  padding: 0.5rem 1rem 0;
  box-sizing: border-box;
}

#comite.section-comite .comite-featured-inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  gap: 14px;
  margin: 0 auto;
  max-width: none;
}

#comite.section-comite .comite-desktop-row {
  display: block;
}

/* Mismo “cuerpo” visual que las cards del slider (sin escala extra de .card-person--highlight) */
#comite.section-comite .comite-featured .card-person--highlight {
  transform: none;
  box-shadow: var(--shadow-subtle);
  border-color: rgba(255, 255, 255, 0.12);
}

#comite.section-comite .comite-featured-inner .card-person-large {
  flex: 0 0 auto;
  box-sizing: border-box;
}

/* coincide con breakpoints Swiper Comité + spaceBetween del JS */
@media (max-width: 559px) {
  /* slidesPerView 2 · spaceBetween 14 */
  #comite.section-comite .comite-featured-inner {
    gap: 14px;
  }

  #comite.section-comite .comite-featured-inner .card-person-large {
    width: calc((100% - 14px) / 2);
    max-width: calc((100% - 14px) / 2);
    min-width: 0;
  }
}

@media (min-width: 560px) and (max-width: 767px) {
  /* slidesPerView 2 · spaceBetween 16 */
  #comite.section-comite .comite-featured-inner {
    gap: 16px;
  }

  #comite.section-comite .comite-featured-inner .card-person-large {
    width: calc((100% - 16px) / 2);
    max-width: calc((100% - 16px) / 2);
    min-width: 0;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  /* slidesPerView 4 · spaceBetween 20 */
  #comite.section-comite .comite-featured-inner {
    gap: 20px;
  }

  #comite.section-comite .comite-featured-inner .card-person-large {
    width: calc((100% - 60px) / 4);
    max-width: calc((100% - 60px) / 4);
    min-width: 0;
  }
}

@media (min-width: 1024px) {
  /* slidesPerView 5 · spaceBetween 20 */
  #comite.section-comite .comite-featured-inner {
    gap: 20px;
  }

  #comite.section-comite .comite-featured-inner .card-person-large {
    width: calc((100% - 80px) / 5);
    max-width: calc((100% - 80px) / 5);
    min-width: 0;
  }

  /* Desktop: destacados fijos a la izquierda + slider a la derecha en la misma fila */
  #comite.section-comite {
    --comite-card-width: 260px;
    --comite-gap: 20px;
  }

  #comite.section-comite .comite-desktop-row {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 0.5rem 1rem 0;
    box-sizing: border-box;
    display: flex;
    align-items: stretch;
    gap: var(--comite-gap);
  }

  #comite.section-comite .comite-featured {
    width: auto;
    margin: 0;
    padding: 0;
    flex: 0 0 auto;
    padding-top:0.5rem;
  }

  #comite.section-comite .comite-featured-inner {
    justify-content: flex-start;
    width: auto;
    gap: var(--comite-gap);
  }

  #comite.section-comite .comite-featured-inner .card-person-large {
    width: var(--comite-card-width);
    max-width: var(--comite-card-width);
    min-width: var(--comite-card-width);
  }

  #comite.section-comite .comite-swiper {
    flex: 1 1 auto;
    min-width: 0;
  }

  #comite.section-comite .comite-swiper .swiper-slide {
    width: var(--comite-card-width);
  }
}

/* Comité: cargo + empresa (misma jerarquía que Speakers: .role + .topic) */
#comite.section-comite .card-body .person-name {
  margin-bottom: 0.2rem;
}

#comite.section-comite .card-body .role {
  margin: 0 0 0.5rem;
  font-size: 0.8rem;
  line-height: 1.35;
}

#comite.section-comite .card-body .topic {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.35;
  color: rgba(243, 240, 255, 0.94);
}

/* Speakers: mismo estilo de card-body que Comité */
#speakers.section-speakers .card-body .person-name {
  margin-bottom: 0.2rem;
}

#speakers.section-speakers .card-body .role {
  margin: 0 0 0.5rem;
  font-size: 0.8rem;
  line-height: 1.35;
}

#speakers.section-speakers .card-body .topic {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.35;
  color: rgba(243, 240, 255, 0.94);
}

/* Comité: degradado detrás de la imagen del comité */
#comite.section-comite .person-photo {
  position: relative;
  background: linear-gradient(160deg, #185dff 0%, #7b34ea 40%, #7e33ee 65%, #170c3a 90%);
}

/* Solo para Lucero y Eliana: blanco → morado claro (más “premium” y con contraste) */
#comite.section-comite .card-person--highlight .person-photo {
  background: linear-gradient(160deg, #ffffff 0%, #eadfff 38%, #bfa6ff 70%, #7e33ee 100%);
}

/* Los SVG vienen como imagen incrustada. Colocamos la silueta sobre el degradado y pegada al bottom. */
#comite.section-comite .person-photo img {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom center;
  /* El nombre viene “impreso” en el arte (base64). Recortamos esa franja superior. */
  clip-path: inset(18% 0 0 0);
  /* Más grande y sin “aire” abajo */
  transform: translateY(12%) scale(1.5);
  transform-origin: bottom center;
  transition: transform 180ms ease-out;
  will-change: transform;
}

/* Speakers: mismo tratamiento visual que Comité para la foto */
#speakers.section-speakers .person-photo {
  position: relative;
  background: linear-gradient(135deg, rgb(11, 131, 254) 0%, rgb(126, 51, 238) 48%, rgb(227, 71, 159) 100%);
}

#speakers.section-speakers .person-photo img {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom center;
  clip-path: inset(18% 0 0 0);
  transform: translateY(12%) scale(1.5);
  transform-origin: bottom center;
  transition: transform 180ms ease-out;
  will-change: transform;
}

/* MAYTE MENDOZA.svg viene como JPEG embebido (sin transparencia).
   Se deja sin filtros para mantener consistencia visual. */

/* Hover Comité: zoom suave + sombra rosada en todo el slide */
#comite.section-comite .card-person {
  transition: box-shadow 200ms ease-out, border-color 200ms ease-out, transform 200ms ease-out;
}

#comite.section-comite .swiper-slide:hover .card-person,
#comite.section-comite .comite-featured .card-person:hover {
  box-shadow:
    0 24px 70px rgba(227, 71, 159, 0.28),
    0 18px 60px rgba(0, 0, 0, 0.35);
  border-color: rgba(227, 71, 159, 0.28);
}

#comite.section-comite .card-person-large:hover .person-photo img,
#comite.section-comite .comite-featured .card-person-large:hover .person-photo img {
  transform: translateY(12%) scale(1.56);
}

#speakers.section-speakers .card-person-large:hover .person-photo img {
  transform: translateY(12%) scale(1.56);
}

.section-dark {
  background: radial-gradient(circle at top, #221842 0, #050416 55%, #02010b 100%);
  color: var(--text);
}

.section-dark .section-header {
  position: relative;
  z-index: 2;
}

.section-dark .section-header h2 {
  color: var(--text);
}

.section-dark .section-header p {
  color: var(--text-muted);
}

/* Speakers reutiliza card-person (Comité). */

.section-header {
  max-width: min(980px, 100%);
  margin: 0 auto 3rem;
  text-align: center;
}

.section-header h2 {
  margin: 0 0 0.75rem;
  font-family: "Conthrax", "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  font-size: var(--section-title-size);
  text-transform: uppercase;
  letter-spacing: 0;
}

/* Escritorio: títulos en una sola línea */
@media (min-width: 1024px) {
  .section-header h2,
  .section-kpi-title,
  .page-hero-title {
    white-space: nowrap;
  }
}

.section-header p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.98rem;
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}

.section-light .section-header p {
  color: #5a5779;
}

.section-light .section-header h2 {
  color: #06081e;
}

#datos .section-header h2 {
  color: var(--text);
  font-weight: 800;
  font-size: clamp(1.9rem, 4.25vw, 2.65rem);
}

/* Título principal de Historias: ocupa el ancho real de la sección (evita sensación de “descentrado”) */
#datos .section-header:not(.section-datos-header) {
  max-width: none;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

#datos .section-header:not(.section-datos-header) h2 {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  text-wrap: balance;
}

/* “Por qué WTS es urgente” (Historias / cifras) */
.section-datos {
  position: relative;
  overflow: hidden;
  color: var(--text);
  background:
    radial-gradient(ellipse 95% 75% at 50% -25%, rgba(126, 51, 238, 0.42) 0%, transparent 55%),
    radial-gradient(ellipse 55% 50% at 0% 100%, rgba(11, 131, 254, 0.22) 0%, transparent 52%),
    radial-gradient(ellipse 50% 45% at 100% 85%, rgba(227, 71, 159, 0.16) 0%, transparent 48%),
    linear-gradient(185deg, var(--temas-datos-bridge) 0%, #050416 40%, #08062a 100%);
}

#speakers.section-speakers.section-dark {
  position: relative;
  overflow: hidden;
  color: var(--text);
  background: linear-gradient(180deg, #321464 0%, #0a0622 100%);
}

.section-datos-story {
  padding-top: calc(2.6rem * 1.15);
  padding-bottom: 2.35rem;
}

#datos.section-datos-story {
  padding-top: calc(2.6rem * 1.15);
  padding-bottom: 2.35rem;
}

.section-datos-stats {
  padding-top: 1.75rem;
  padding-bottom: 2.35rem;
}

.datos-story-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2.25rem 2.5rem;
  align-items: stretch;
}

.datos-gallery-swiper {
  width: 100%;
  height: 100%;
  /* ~30% menos alto que antes */
  min-height: 294px;
  aspect-ratio: 16 / 10;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow:
    0 18px 52px rgba(227, 71, 159, 0.18),
    0 16px 46px rgba(126, 51, 238, 0.12);
}

.datos-gallery-slide,
.datos-gallery-slide img {
  width: 100%;
  height: 100%;
}

.datos-gallery-slide img {
  object-fit: cover;
}

.datos-gallery-pagination {
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-horizontal-gap: 6px;
}

.datos-gallery-swiper .swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.55);
  opacity: 1;
}

.datos-gallery-swiper .swiper-pagination-bullet-active {
  background: linear-gradient(120deg, var(--primary), var(--accent));
}

.section-datos-header {
  margin: 0;
  text-align: left;
  max-width: none;
  padding: 1.35rem 1.4rem;
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow:
    0 18px 52px rgba(227, 71, 159, 0.14),
    0 16px 46px rgba(126, 51, 238, 0.12);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.section-datos-story .section-datos-header {
  text-align: center;
  background: linear-gradient(155deg, rgba(62, 18, 48, 0.22) 0%, rgba(10, 6, 35, 0.78) 55%, rgba(5, 4, 22, 0.92) 100%);
  border: 1px solid rgba(244, 114, 182, 0.22);
  box-shadow:
    0 18px 56px rgba(227, 71, 159, 0.22),
    0 10px 34px rgba(126, 51, 238, 0.14),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset;
}

.section-datos-header p {
  margin-left: 0;
  margin-right: 0;
  font-size: 1.08rem;
  line-height: 1.7;
  color: rgba(245, 242, 255, 0.96) !important;
  text-shadow:
    0 0 26px rgba(126, 51, 238, 0.18),
    0 0 22px rgba(227, 71, 159, 0.14);
}

.section-datos-story .section-datos-header p {
  margin: 0;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.section-datos-story .section-datos-header p + p {
  margin-top: 0.85rem;
}

.section-datos-header p + p {
  margin-top: 1rem;
}

.stats-grid--datos {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.section-datos::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 18% 45%, rgb(17 6 47) 0%, #21144c 42%),
    radial-gradient(circle at 82% 70%, rgba(34, 211, 238, 0.08) 0%, transparent 38%);
  pointer-events: none;
  z-index: 0;
}

.section-datos .container,
#speakers.section-speakers .container {
  position: relative;
  z-index: 1;
}

/* (El bloque anterior era del layout previo; ya no aplica.) */

.section-note {
  margin-top: 2.5rem;
  font-size: 0.85rem;
  color: var(--text-muted);
}

#comite.section-comite .section-note {
  margin-top: 1rem;
}

#comite.section-comite .section-note:empty {
  display: none;
}

.layout-two-cols {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 2.5rem;
  align-items: center;
}

/* ===== Páginas internas ===== */
.page-hero {
  position: relative;
  overflow: hidden;
  padding-top: 6.25rem;
  padding-bottom: 4.75rem;
  color: var(--text);
  background:
    radial-gradient(ellipse 75% 60% at 20% 20%, rgba(11, 131, 254, 0.35) 0%, transparent 55%),
    radial-gradient(ellipse 55% 55% at 85% 25%, rgba(126, 51, 238, 0.3) 0%, transparent 58%),
    linear-gradient(180deg, rgba(5, 4, 22, 0.92) 0%, rgba(5, 4, 22, 0.78) 55%, rgba(5, 4, 22, 0.95) 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.page-hero::before {
  content: "";
  position: absolute;
  inset: -30%;
  background:
    radial-gradient(circle at 28% 40%, rgba(227, 71, 159, 0.22) 0%, transparent 52%),
    radial-gradient(circle at 72% 65%, rgba(167, 139, 250, 0.18) 0%, transparent 50%);
  opacity: 0.55;
  pointer-events: none;
}

.page-hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.page-hero-bg-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 1;
  filter: none;
}

.page-hero-bg-overlay {
  position: absolute;
  inset: 0;
  background: transparent;
}

.page-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 56rem;
  margin: 0 auto;
  text-align: center;
}

.page-hero-eyebrow {
  margin: 0 0 0.85rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(230, 226, 255, 0.88);
}

.page-hero-title {
  margin: 0 0 1rem;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 700;
  font-size: clamp(2.05rem, 5.2vw, 3.15rem);
  letter-spacing: -0.03em;
  line-height: 1.12;
  text-wrap: balance;
  text-transform: uppercase;
}

.page-hero-lead {
  margin: 0 auto 1.65rem;
  max-width: 44rem;
  font-size: 1.02rem;
  line-height: 1.65;
  color: rgba(235, 232, 255, 0.92);
}

/* Sponsors: “Sponsors” como título principal y lead más visible */
.sponsors-page .page-hero-title.sponsors-hero-title {
  font-size: clamp(2.55rem, 6.6vw, 4.25rem);
  letter-spacing: -0.02em;
}

.sponsors-page .page-hero-lead {
  font-size: clamp(1.1rem, 2.1vw, 1.35rem);
  max-width: 52rem;
  color: rgba(245, 243, 255, 0.96);
}

.page-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

/* Agenda: línea principal + “COMING SOON” más pequeño (sin guión en el texto) */
@media (min-width: 1024px) {
  .agenda-page .page-hero-title.agenda-hero-title {
    white-space: normal;
    line-height: 1.08;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
  }
}

.agenda-page .agenda-hero-title .agenda-hero-coming {
  display: block;
  margin-top: 0.22em;
  font-size: clamp(0.7rem, 2.35vw, 1.1rem);
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.25;
  color: rgba(245, 243, 255, 0.88);
}

/* Página Nosotros: Sobre + Objetivos comparten un degradado continuo (una sola franja) */
.page-nosotros .nosotros-gradient-band {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--text);
  background:
    radial-gradient(ellipse 100% 72% at 50% 0%, rgba(126, 51, 238, 0.3) 0%, transparent 56%),
    radial-gradient(ellipse 58% 48% at 0% 52%, rgba(11, 131, 254, 0.14) 0%, transparent 54%),
    radial-gradient(ellipse 52% 46% at 100% 68%, rgba(227, 71, 159, 0.12) 0%, transparent 52%),
    var(--gradient-temas-to-impacto);
}

.page-nosotros .nosotros-gradient-band::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 22% 32%, rgba(167, 139, 250, 0.12) 0%, transparent 46%),
    radial-gradient(circle at 78% 58%, rgba(34, 211, 238, 0.07) 0%, transparent 42%),
    radial-gradient(circle at 50% 88%, rgba(126, 51, 238, 0.09) 0%, transparent 45%);
}

.page-nosotros .nosotros-gradient-band > .section {
  position: relative;
  z-index: 1;
  background: transparent;
}

.page-nosotros #sobre.nosotros-sobre,
.page-nosotros #objetivos.nosotros-objetivos {
  padding-top: 2.75rem;
  padding-bottom: 2.75rem;
}

.page-nosotros #sobre.nosotros-sobre {
  padding-top: 4.9rem;
}

/* Menos aire entre las dos secciones para que el degradado se perciba como uno solo */
.page-nosotros #sobre.nosotros-sobre {
  padding-bottom: 2.35rem;
}

.page-nosotros #objetivos.nosotros-objetivos {
  padding-top: 2.35rem;
}

.page-nosotros #sobre.nosotros-sobre > .container,
.page-nosotros #objetivos.nosotros-objetivos > .container {
  position: relative;
}

.nosotros-sobre-title {
  margin: 0 auto 1.35rem;
  max-width: min(980px, 100%);
  text-align: center;
  font-family: "Conthrax", "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  font-size: clamp(1.55rem, 3.6vw, 2.35rem);
  letter-spacing: 0.02em;
  line-height: 1.12;
  text-transform: uppercase;
  color: #f5f3ff;
  text-shadow:
    0 14px 44px rgba(126, 51, 238, 0.22),
    0 10px 36px rgba(34, 211, 238, 0.16),
    0 18px 56px rgba(227, 71, 159, 0.14);
}

.page-nosotros #sobre.nosotros-sobre .copy p {
  color: rgba(235, 232, 255, 0.9);
}

.page-nosotros #objetivos.nosotros-objetivos .section-header h2 {
  color: #f5f3ff;
}

.page-nosotros #objetivos.nosotros-objetivos .section-header p {
  color: rgba(235, 232, 255, 0.78);
}

.page-nosotros #objetivos.nosotros-objetivos .section-header {
  margin-bottom: 1.85rem;
}

/* Tarjetas blancas del timeline: el color del body (claro) heredaba en los h3 */
.page-nosotros #objetivos.nosotros-objetivos .timeline-body h3 {
  color: #2f1560;
  font-weight: 600;
}

@media (max-width: 768px) {
  .page-nosotros #sobre.nosotros-sobre,
  .page-nosotros #objetivos.nosotros-objetivos {
    padding-top: 2.35rem;
    padding-bottom: 2.35rem;
  }

  .page-nosotros #sobre.nosotros-sobre {
    padding-top: 4rem;
  }

  .page-nosotros #sobre.nosotros-sobre {
    padding-bottom: 1.85rem;
  }

  .page-nosotros #objetivos.nosotros-objetivos {
    padding-top: 1.85rem;
  }
}

/* Sponsors: menos “salto” entre banner y formulario */
.sponsors-page #patrocinadores.section-light {
  padding-top: 3.25rem;
}

@media (max-width: 768px) {
  .sponsors-page #patrocinadores.section-light {
    padding-top: 2.75rem;
  }
}

/* Sobre WTS: más ancho para los tres pilares */
.layout-two-cols--sobre {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr);
  gap: 2.75rem;
  align-items: start;
}

@media (max-width: 768px) {
  .section {
    padding: 2.6rem 0;
  }

  .section-header {
    margin-bottom: 2rem;
  }

  .section-header h2 {
    font-size: 28px;
    line-height: 32px;
  }

  /* Franja continua: menos “aire” entre secciones en móvil */
  .wts-continuous-band .section {
    padding-top: 1.85rem;
    padding-bottom: 1.85rem;
  }

  .wts-continuous-band .section-kpi {
    padding-top: 1.85rem;
    padding-bottom: 2.35rem;
  }

  .wts-continuous-band #datos.section-datos-story {
    padding-top: calc(2rem * 1.15);
    padding-bottom: 1.85rem;
  }

  .wts-continuous-band .section-datos-stats.section-datos {
    padding-top: 0.85rem;
    padding-bottom: 1.85rem;
  }

  .layout-two-cols {
    grid-template-columns: minmax(0, 1fr);
  }

  .layout-two-cols--sobre {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ===== CTA “Únete a WTS” (potente) ===== */
.section-join-cta {
  position: relative;
  overflow: hidden;
  color: var(--text);
  background:
    radial-gradient(ellipse 80% 60% at 15% 10%, rgba(11, 131, 254, 0.35) 0%, transparent 55%),
    radial-gradient(ellipse 55% 55% at 85% 30%, rgba(227, 71, 159, 0.22) 0%, transparent 60%),
    var(--gradient-unete-cta);
  /* Sin borde superior: el color base encaja con el final de Impacto WTS (#050416) */
  border-top: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* Ocultar sección “Activa tu próximo paso en tecnología” (Únete a WTS) */
#unete.section-join-cta {
  display: none;
}

.section-join-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 50%, rgba(167, 139, 250, 0.12) 0%, transparent 45%),
    radial-gradient(circle at 80% 60%, rgba(34, 211, 238, 0.08) 0%, transparent 42%);
  pointer-events: none;
  z-index: 0;
}

.join-cta-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 2.25rem 2.5rem;
  align-items: center;
}

.join-cta-copy h2 {
  margin: 0 0 0.75rem;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 700;
  font-size: var(--section-title-size);
  letter-spacing: -0.02em;
  color: #fff;
}

.join-cta-eyebrow {
  margin: 0 0 0.85rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(232, 228, 255, 0.85);
}

.join-cta-lead {
  margin: 0 0 1.25rem;
  font-size: 1.02rem;
  line-height: 1.6;
  color: rgba(235, 232, 255, 0.92);
  max-width: 40rem;
}

.join-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.section-join-cta .btn-outline {
  border-color: rgba(255, 255, 255, 0.26);
  color: #fff;
}

.section-join-cta .btn-outline:hover {
  background: rgba(255, 255, 255, 0.08);
}

.join-cta-cards {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.9rem;
}

.join-cta-card {
  margin: 0;
  padding: 1.05rem 1.1rem 1.1rem;
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
  transition: transform var(--transition-med), box-shadow var(--transition-med);
}

/* Mismos acentos que #datos «Por qué WTS es urgente» (cyan / lilac / magenta) */
.section-join-cta .join-cta-card::after {
  content: "";
  position: absolute;
  top: -40%;
  left: -100%;
  width: 55%;
  height: 180%;
  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255, 255, 255, 0.22) 42%,
    rgba(255, 255, 255, 0.06) 55%,
    transparent 70%
  );
  transform: rotate(22deg);
  pointer-events: none;
  animation: datos-gleam 10s ease-in-out infinite;
}

.section-join-cta .join-cta-card--cyan::after {
  animation-delay: 0s;
}

.section-join-cta .join-cta-card--lilac::after {
  animation-delay: -3.3s;
}

.section-join-cta .join-cta-card--magenta::after {
  animation-delay: -6.6s;
}

.section-join-cta .join-cta-card--cyan {
  background: linear-gradient(155deg, rgba(6, 40, 62, 0.95) 0%, rgba(5, 6, 32, 0.98) 55%, rgba(4, 3, 22, 1) 100%);
  border: 1px solid rgba(34, 211, 238, 0.5);
  box-shadow:
    0 8px 32px rgba(11, 131, 254, 0.28),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 0 48px rgba(34, 211, 238, 0.12);
}

.section-join-cta .join-cta-card--lilac {
  background: linear-gradient(155deg, rgba(45, 25, 72, 0.95) 0%, rgba(8, 6, 40, 0.98) 50%, rgba(5, 4, 22, 1) 100%);
  border: 1px solid rgba(196, 181, 253, 0.45);
  box-shadow:
    0 8px 32px rgba(126, 51, 238, 0.32),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 0 52px rgba(167, 139, 250, 0.15);
}

.section-join-cta .join-cta-card--magenta {
  background: linear-gradient(155deg, rgba(62, 18, 48, 0.92) 0%, rgba(10, 6, 35, 0.97) 55%, rgba(5, 4, 22, 1) 100%);
  border: 1px solid rgba(244, 114, 182, 0.42);
  box-shadow:
    0 8px 32px rgba(227, 71, 159, 0.25),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 0 44px rgba(236, 72, 153, 0.12);
}

.section-join-cta .join-cta-card:hover {
  transform: translateY(-4px);
}

.join-cta-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.65rem;
  height: 2.65rem;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(11, 131, 254, 0.25), rgba(126, 51, 238, 0.25));
  border: 1px solid rgba(227, 71, 159, 0.18);
  color: #fff;
  margin-bottom: 0.65rem;
  box-shadow: 0 10px 28px rgba(127, 93, 255, 0.18);
  position: relative;
  z-index: 1;
}

.section-join-cta .join-cta-card--cyan .join-cta-icon {
  border-color: rgba(34, 211, 238, 0.45);
  box-shadow: 0 10px 26px rgba(11, 131, 254, 0.25);
}

.section-join-cta .join-cta-card--lilac .join-cta-icon {
  border-color: rgba(196, 181, 253, 0.4);
  box-shadow: 0 10px 26px rgba(126, 51, 238, 0.22);
}

.section-join-cta .join-cta-card--magenta .join-cta-icon {
  border-color: rgba(244, 114, 182, 0.4);
  box-shadow: 0 10px 26px rgba(227, 71, 159, 0.22);
}

.join-cta-card h3 {
  margin: 0 0 0.35rem;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 1.05rem;
  color: #fff;
  position: relative;
  z-index: 1;
}

.join-cta-card p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: rgba(230, 226, 255, 0.88);
  position: relative;
  z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
  .section-join-cta .join-cta-card::after {
    animation: none;
    opacity: 0;
  }

  .section-join-cta .join-cta-card:hover {
    transform: none;
  }
}

@media (max-width: 960px) {
  .join-cta-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.8rem 1.4rem;
  border-radius: var(--radius-pill);
  border: 1px solid transparent;
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast),
    background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
  white-space: nowrap;
}

.btn:hover {
  transform: translateY(var(--btn-lift));
}

.btn-primary {
  background: linear-gradient(135deg, var(--primary), var(--accent));
  color: #ffffff;
  box-shadow: 0 16px 38px var(--shadow-pink-soft);
}

.btn-primary:hover {
  box-shadow: 0 22px 60px var(--shadow-pink);
}

/* Brillo que recorre el botón de izquierda a derecha */
.btn-cta-shine {
  position: relative;
  overflow: hidden;
}

.btn-cta-shine::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255, 255, 255, 0.25) 40%,
    rgba(255, 255, 255, 0.45) 50%,
    rgba(255, 255, 255, 0.25) 60%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 1;
  animation: btnShine 2.8s ease-in-out infinite;
}

@keyframes btnShine {
  0% {
    left: -100%;
  }
  60% {
    left: -100%;
  }
  80% {
    left: 140%;
  }
  100% {
    left: 140%;
  }
}

.btn-outline {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.32);
  color: var(--text);
}

.section-light .btn-outline {
  border-color: rgba(9, 6, 52, 0.18);
  color: var(--text-dark);
}

.btn-outline:hover {
  background: rgba(255, 255, 255, 0.06);
}

.btn-ghost {
  background: rgba(15, 9, 52, 0.7);
  border-color: rgba(129, 115, 255, 0.3);
  color: var(--text);
}

.btn-ghost:hover {
  background: rgba(15, 9, 52, 0.95);
}

/* Botón secundario del hero (brochure): matiz morado propio */
.btn-brochure {
  background: linear-gradient(135deg, #0b83fe 0%, #7e33ee 48%, #e3479f 100%);
  border-color: rgba(255, 255, 255, 0.14);
  color: #ffffff;
  box-shadow:
    0 20px 54px rgba(227, 71, 159, 0.22),
    0 18px 48px rgba(126, 51, 238, 0.18);
}

.btn-brochure:hover {
  filter: brightness(1.05) saturate(1.05);
  border-color: rgba(255, 255, 255, 0.24);
  box-shadow:
    0 24px 64px rgba(227, 71, 159, 0.26),
    0 22px 58px rgba(126, 51, 238, 0.22);
}

.btn-brochure:focus-visible {
  outline: 2px solid rgba(34, 211, 238, 0.55);
  outline-offset: 3px;
}

.btn-full {
  width: 100%;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  backdrop-filter: blur(18px);
  background: linear-gradient(to bottom, rgba(5, 4, 22, 0.94), rgba(5, 4, 22, 0.78) 60%, transparent);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 0.85rem 1.5rem;
}

.brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 14px;
  background: radial-gradient(circle at 0 0, #7ec8ff 0, var(--primary) 42%, var(--accent) 100%);
  color: #050416;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
}

.brand-text {
  display: flex;
  flex-direction: column;
}

.brand-title {
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  font-size: 0.9rem;
}

.brand-subtitle {
  font-size: 0.72rem;
  color: var(--text-muted);
}

.site-nav ul {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.9rem;
}

.site-nav a {
  position: relative;
  padding: 0.3rem 0;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  transition: color var(--transition-fast);
}

.site-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  transition: width var(--transition-fast);
}

.site-nav a:hover {
  color: var(--text);
}

.site-nav a[aria-current="page"] {
  color: #f5f3ff;
}

.site-nav a[aria-current="page"]::after {
  width: 100%;
}

.site-nav a:hover::after {
  width: 100%;
}

.header-cta {
  font-size: 0.85rem;
  padding-inline: 1.1rem;
}

.nav-toggle {
  display: none;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(5, 4, 22, 0.8);
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  transition: transform var(--transition-fast), border-color var(--transition-fast),
    background var(--transition-fast);
}

.nav-toggle:hover {
  transform: translateY(var(--btn-lift));
}

.nav-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: #fff;
  transition: transform var(--transition-med), opacity var(--transition-med);
}

.nav-toggle.is-open span:first-child {
  transform: translateY(3px) rotate(45deg);
}

.nav-toggle.is-open span:last-child {
  transform: translateY(-3px) rotate(-45deg);
}

@media (max-width: 960px) {
  .site-nav {
    position: fixed;
    inset: 64px 0 auto;
    padding: 0.75rem 1.5rem 1.1rem;
    background: rgba(5, 4, 22, 0.98);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    transform-origin: top;
    transform: scaleY(0.7);
    opacity: 0;
    pointer-events: none;
    translate: 0 -8px;
    transition: opacity var(--transition-med), translate var(--transition-med), transform var(--transition-med);
  }

  .site-nav ul {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0.9rem 1.3rem;
  }

  .site-nav.is-open {
    opacity: 1;
    pointer-events: auto;
    translate: 0 0;
    transform: scaleY(1);
  }

  .nav-toggle {
    display: inline-flex;
  }

  .header-cta {
    display: none;
  }
}

.hero {
  position: relative;
  padding-top: 5rem;
  padding-bottom: 5rem;
  overflow: hidden;
  overflow-x: clip;
  /* Poster / respaldo si el vídeo no carga o con prefers-reduced-motion */
  background-image: url("../img/bannerwts.avif");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: var(--bg);
}

.hero-video-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media (prefers-reduced-motion: reduce) {
  .hero-video-wrap {
    display: none;
  }

  .btn:hover,
  .nav-toggle:hover {
    transform: none;
  }

  .hero-actions .btn-neon::before {
    transition: none;
  }

  .carousel-control:hover {
    transform: translateY(-50%) scale(1.03);
  }

  .tabs .tab:hover,
  .tabs .tab.is-active {
    transform: none;
  }

  .carousel-dots .dot:hover,
  .carousel-dots .dot.is-active {
    transform: none;
  }
}

.hero-gradient {
  position: absolute;
  inset: -40%;
  z-index: 1;
  background:
    radial-gradient(circle at top left, rgba(132, 99, 255, 0.32) 0, transparent 55%),
    radial-gradient(circle at 70% 0, rgba(227, 71, 159, 0.3) 0, transparent 55%),
    radial-gradient(circle at 80% 90%, rgba(194, 231, 255, 0.12) 0, transparent 55%);
  opacity: 0.35;
  pointer-events: none;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  /* Color actual del banner con opacidad para dejar ver la imagen / vídeo */
  background: rgba(5, 4, 22, 0.65);
  pointer-events: none;
}

.hero-grid {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
  align-items: center;
  justify-items: center;
}

.hero-grid--centered {
  text-align: center;
}

.hero-content--center {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: min(46rem, 100%);
  margin: 0 auto;
  min-width: 0;
  transform: translateY(-10%);
}

.hero-title-block {
  margin: 0 0 1.25rem;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

@media (min-width: 768px) {
  .hero-title-block {
    padding-top: 5px;
  }
}

.hero-title-badge-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.65rem;
}

.hero-wts-logo {
  display: block;
  /* +20% vs min(240px, 62.4vw) */
  max-width: min(288px, 74.88vw);
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: brightness(0) invert(1) drop-shadow(0 0 19px rgba(255, 255, 255, 0.35));
}

.hero-edition-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /* +20% tipografía y padding proporcional */
  padding: 0.384rem 1.14rem;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(255, 255, 255, 0.32);
  background: rgba(5, 4, 22, 0.52);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.06);
  font-size: 0.744rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(240, 236, 255, 0.95);
  backdrop-filter: blur(10px);
}

.hero-highlight {
  display: block;
  background: linear-gradient(115deg, #5ec0ff 0%, var(--primary) 38%, var(--accent) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* BEYOND: brillo lento, matices lilas, memorable */
.hero-highlight.hero-highlight--mega {
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  /* Fluido en móvil: el mínimo fijo anterior (~6.3rem) desbordaba “BEYOND” en pantallas estrechas */
  font-size: clamp(2.65rem, 10.2vw + 1.4rem, 11.4rem);
  line-height: 0.95;
  letter-spacing: -0.04em;
  max-width: 100%;
  text-align: center;
  background: linear-gradient(
    105deg,
    #5b21b6 0%,
    #7e33ee 14%,
    #c4b5fd 28%,
    #f5f3ff 38%,
    #a78bfa 48%,
    #0b83fe 58%,
    #ddd6fe 72%,
    #8b5cf6 86%,
    #ede9fe 100%
  );
  background-size: 320% 320%;
  background-position: 0% 50%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: beyond-shimmer 14s ease-in-out infinite;
  filter: drop-shadow(0 0 22px rgba(167, 139, 250, 0.42))
    drop-shadow(0 0 48px rgba(126, 51, 238, 0.22))
    drop-shadow(0 12px 40px rgba(227, 71, 159, 0.12));
}

@keyframes beyond-shimmer {
  0%,
  100% {
    background-position: 0% 50%;
  }
  33% {
    background-position: 55% 35%;
  }
  66% {
    background-position: 100% 65%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-content--center {
    transform: none;
  }

  .hero-highlight.hero-highlight--mega {
    animation: none;
    background-position: 45% 50%;
    filter: drop-shadow(0 0 18px rgba(167, 139, 250, 0.3));
  }
}

@media (max-width: 480px) and (prefers-reduced-motion: no-preference) {
  .hero-highlight.hero-highlight--mega {
    filter: drop-shadow(0 0 14px rgba(167, 139, 250, 0.32))
      drop-shadow(0 0 28px rgba(126, 51, 238, 0.16));
  }
}

/* Móvil: título BEYOND ~20% más grande que la base fluida */
@media (max-width: 768px) {
  .hero-highlight.hero-highlight--mega {
    font-size: calc(1.2 * clamp(2.65rem, 11vw + 1.65rem, 12.675rem));
  }
}

.hero-tagline {
  display: block;
  margin-top: 1rem;
  /* Una sola línea: escala el tamaño en viewports estrechos */
  /* +30% aprox. vs valores anteriores */
  font-size: clamp(1.04rem, 2.145vw + 0.65rem, 2.145rem);
  font-weight: 600;
  line-height: 1.3;
  color: #f3f0ff;
  letter-spacing: -0.02em;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  white-space: nowrap;
  padding-inline: 0.25rem;
}

@media (max-width: 560px) {
  .hero-tagline {
    white-space: normal;
    max-width: 19rem;
    text-wrap: balance;
  }
}

.hero-meta {
  margin: 0 0 1.35rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: clamp(0.95rem, 2vw, 1.15rem);
  line-height: 1.4;
}

.hero-meta-single {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  max-width: 100%;
  font-weight: 700;
  color: #ffffff;
  text-shadow: 0 2px 18px rgba(11, 131, 254, 0.3);
}

.hero-meta-single time {
  font-weight: 700;
  color: inherit;
}

.hero-meta-dot {
  display: inline-block;
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  box-shadow: 0 0 12px rgba(227, 71, 159, 0.5);
}

.hero-meta-place-text {
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #c8e6ff;
  text-shadow: 0 4px 24px rgba(126, 51, 238, 0.35);
}

@media (max-width: 480px) {
  .hero-meta-single {
    font-size: clamp(0.78rem, 3.4vw, 0.95rem);
    gap: 0.35rem;
  }

  .hero-title-badge-group {
    gap: 0.5rem;
  }

  .hero-wts-logo {
    /* +20% vs min(202px, 69.6vw) */
    max-width: min(242px, 83.52vw);
  }

  .hero-edition-badge {
    padding: 0.336rem 0.9rem;
    font-size: 0.696rem;
    letter-spacing: 0.12em;
  }
}

@media (max-width: 360px) {
  .hero-meta-single {
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    row-gap: 0.35rem;
  }
}

.hero-countdown {
  margin: 0 0 1.4rem;
  width: 100%;
  max-width: min(28rem, 100%);
  min-width: 0;
}

.hero-countdown-eyebrow {
  margin: 0 0 0.65rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(232, 228, 255, 0.85);
}

.hero-countdown-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 0.5rem;
  width: 100%;
}

.hero-countdown-unit {
  min-width: 0;
  max-width: none;
  padding: 0.75rem 0.5rem 0.7rem;
  border-radius: var(--radius-md);
  background: rgba(8, 6, 32, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow:
    0 8px 28px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 0 0 1px rgba(127, 93, 255, 0.12);
  backdrop-filter: blur(10px);
}

.hero-countdown-value {
  display: block;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: clamp(1.85rem, 5.5vw, 2.45rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.02em;
  background: linear-gradient(135deg, #7dd3fc 0%, #a78bfa 45%, #f0abfc 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 2px 12px rgba(126, 51, 238, 0.35));
}

.hero-countdown-unit-label {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(230, 226, 255, 0.75);
}

.hero-countdown-done {
  margin: 0.75rem 0 0;
  font-size: 1rem;
  font-weight: 600;
  color: #c8ffe8;
  text-shadow: 0 2px 16px rgba(45, 212, 191, 0.35);
}

@media (max-width: 480px) {
  .hero-countdown-grid {
    gap: 0.35rem;
  }

  .hero-countdown-unit {
    padding: 0.55rem 0.35rem 0.5rem;
  }

  .hero-countdown-value {
    font-size: clamp(1.35rem, 6.5vw + 0.5rem, 2.2rem);
  }

  .hero-countdown-unit-label {
    font-size: 0.58rem;
    letter-spacing: 0.08em;
  }
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.25rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(5, 4, 22, 0.68);
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.hero-text {
  max-width: 36rem;
  margin: 0 0 1.75rem;
  font-size: 1.02rem;
  color: rgba(235, 232, 255, 0.92);
  line-height: 1.65;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.65rem;
  margin-bottom: 0;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

@media (max-width: 520px) {
  .hero-actions {
    flex-direction: column;
    align-items: stretch;
    max-width: 18.5rem;
    margin-left: auto;
    margin-right: auto;
  }

  .hero-actions .btn {
    width: 100%;
    justify-content: center;
  }
}

/* Botones neon (hero + entradas): borde brillante, relleno al hover */
.hero-actions .btn-neon,
.page-entradas .btn-neon {
  --btn-neon-color: #4dc8ff;
  --btn-neon-border: color-mix(in srgb, var(--btn-neon-color) 68%, #ffffff 32%);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: transparent;
  border: 2px solid var(--btn-neon-border);
  color: #ffffff;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.85rem 1.55rem;
  box-shadow:
    0 0 4px color-mix(in srgb, var(--btn-neon-color) 92%, #ffffff 8%),
    0 0 14px var(--btn-neon-color),
    0 0 32px color-mix(in srgb, var(--btn-neon-color) 72%, transparent),
    0 0 52px color-mix(in srgb, var(--btn-neon-color) 42%, transparent),
    inset 0 0 18px color-mix(in srgb, var(--btn-neon-color) 28%, transparent);
  transition:
    color 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    transform var(--transition-fast);
}

.hero-actions .btn-neon::before,
.page-entradas .btn-neon::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--btn-neon-color);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.hero-actions .btn-neon:hover,
.hero-actions .btn-neon:focus-visible {
  color: #000000;
  border-color: var(--btn-neon-border);
  box-shadow:
    0 0 6px color-mix(in srgb, var(--btn-neon-color) 95%, #ffffff 5%),
    0 0 18px var(--btn-neon-color),
    0 0 38px color-mix(in srgb, var(--btn-neon-color) 82%, transparent),
    0 0 64px color-mix(in srgb, var(--btn-neon-color) 52%, transparent),
    inset 0 0 14px color-mix(in srgb, var(--btn-neon-color) 45%, transparent);
}

.hero-actions .btn-neon:hover::before,
.hero-actions .btn-neon:focus-visible::before {
  transform: scaleX(1);
}

.hero-actions .btn-neon-cyan,
.page-entradas .btn-neon-cyan {
  --btn-neon-color: #4dc8ff;
}

.hero-actions .btn-neon-purple,
.page-entradas .btn-neon-purple {
  --btn-neon-color: #c855f7;
}

.hero-actions .btn-neon-blue,
.page-entradas .btn-neon-blue {
  --btn-neon-color: #0690fe;
}

/* Entradas: neon como hero — hover con fondo de color (sin ::before del hero) */
.page-entradas .btn-neon {
  isolation: auto;
}

.page-entradas .btn-neon::before {
  content: none;
  display: none;
}

.page-entradas .wts-compare-cta-cell .btn-neon,
.page-entradas .wts-plan-card__cta.btn-neon {
  background: #02010a;
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
  text-align: center;
  justify-content: center;
  border-radius: var(--radius-pill);
  font-weight: 600;
  white-space: nowrap;
  transition:
    color 0.35s ease,
    background 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    transform var(--transition-fast);
}

.page-entradas .wts-compare-cta-cell .btn-neon:hover,
.page-entradas .wts-compare-cta-cell .btn-neon:focus-visible,
.page-entradas .wts-plan-card__cta.btn-neon:hover,
.page-entradas .wts-plan-card__cta.btn-neon:focus-visible {
  color: #1b163f;
  -webkit-text-fill-color: #1b163f;
  background: var(--btn-neon-color);
  border-color: var(--btn-neon-border);
  box-shadow:
    0 0 6px color-mix(in srgb, var(--btn-neon-color) 95%, #ffffff 5%),
    0 0 18px var(--btn-neon-color),
    0 0 38px color-mix(in srgb, var(--btn-neon-color) 82%, transparent),
    0 0 64px color-mix(in srgb, var(--btn-neon-color) 52%, transparent),
    inset 0 0 14px color-mix(in srgb, var(--btn-neon-color) 45%, transparent);
}

.page-entradas .wts-compare-cta-cell .btn-neon-cyan,
.page-entradas .wts-plan-card__cta.btn-neon-cyan {
  --btn-neon-color: #4dc8ff;
}

.page-entradas .wts-compare-cta-cell .btn-neon-purple,
.page-entradas .wts-plan-card__cta.btn-neon-purple {
  --btn-neon-color: #c855f7;
}

.page-entradas .wts-compare-cta-cell .btn-neon-blue,
.page-entradas .wts-plan-card__cta.btn-neon-blue {
  --btn-neon-color: #0690fe;
}

@media (max-width: 480px) {
  .hero .container {
    padding-left: max(1rem, env(safe-area-inset-left, 0px));
    padding-right: max(1rem, env(safe-area-inset-right, 0px));
  }
}

/* Impacto WTS: fondo2.png (parallax) + lámina centro oscuro / laterales con brillo */
#indicadores.section-kpi.section-dark {
  --kpi-neon: color-mix(in srgb, #0690fe 90%, #ffffff 10%);
  --kpi-neon-deep: color-mix(in srgb, #0470cc 90%, #ffffff 10%);
  --impacto-nebula-blue: #0690fe;
  --impacto-nebula-violet: #8637fa;
  --impacto-nebula-rose: #f17bc6;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: #08062a;
}

#indicadores.section-kpi.section-dark::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url("../img/fondo2.png");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

#indicadores.section-kpi.section-dark::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: var(--wts-bg-image-scrim-veil), var(--wts-bg-image-scrim-impacto);
}

/* Cuadrícula decorativa (movida desde Impacto WTS) para “Aquí empieza tu conexión” */
#conexion-redes.section-connect-social::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    /* Desvanecido lateral (rejilla hacia el centro) */
    linear-gradient(
      90deg,
      transparent 0%,
      transparent 14%,
      rgba(5, 4, 22, 0.42) 19%,
      transparent 28%,
      transparent 72%,
      rgba(5, 4, 22, 0.42) 81%,
      transparent 88%,
      transparent 100%
    ),
    /* Desvanecido vertical (arriba / abajo: la rejilla se pierde) */
    linear-gradient(
      180deg,
      rgba(5, 4, 22, 0.82) 0%,
      rgba(5, 4, 22, 0.35) 14%,
      transparent 30%,
      transparent 70%,
      rgba(5, 4, 22, 0.35) 86%,
      rgba(5, 4, 22, 0.82) 100%
    ),
    /* Rejilla fina en franjas laterales (~14%) */
    repeating-linear-gradient(90deg, rgba(134, 55, 250, 0.24) 0 1px, transparent 1px 9px) 0 0 / 14% 100% no-repeat,
    repeating-linear-gradient(0deg, rgba(6, 144, 254, 0.16) 0 1px, transparent 1px 8px) 0 0 / 14% 100% no-repeat,
    repeating-linear-gradient(90deg, rgba(134, 55, 250, 0.22) 0 1px, transparent 1px 9px) 100% 0 / 14% 100% no-repeat,
    repeating-linear-gradient(0deg, rgba(241, 123, 198, 0.14) 0 1px, transparent 1px 8px) 100% 0 / 14% 100% no-repeat;
  opacity: 0.9;
}

@media (max-width: 767px) {
  #conexion-redes.section-connect-social::after {
    background:
      linear-gradient(
        90deg,
        transparent 0%,
        transparent 12%,
        rgba(5, 4, 22, 0.38) 18%,
        transparent 30%,
        transparent 70%,
        rgba(5, 4, 22, 0.38) 82%,
        transparent 90%,
        transparent 100%
      ),
      linear-gradient(
        180deg,
        rgba(5, 4, 22, 0.78) 0%,
        rgba(5, 4, 22, 0.32) 12%,
        transparent 28%,
        transparent 72%,
        rgba(5, 4, 22, 0.32) 88%,
        rgba(5, 4, 22, 0.78) 100%
      ),
      repeating-linear-gradient(90deg, rgba(134, 55, 250, 0.22) 0 1px, transparent 1px 8px) 0 0 / 18% 100% no-repeat,
      repeating-linear-gradient(0deg, rgba(6, 144, 254, 0.14) 0 1px, transparent 1px 7px) 0 0 / 18% 100% no-repeat,
      repeating-linear-gradient(90deg, rgba(134, 55, 250, 0.2) 0 1px, transparent 1px 8px) 100% 0 / 18% 100% no-repeat,
      repeating-linear-gradient(0deg, rgba(241, 123, 198, 0.12) 0 1px, transparent 1px 7px) 100% 0 / 18% 100% no-repeat;
  }
}

/* Contenido por encima de la rejilla; el separador ::before ya está en z-index: 2 */
#conexion-redes.section-connect-social .container {
  position: relative;
  z-index: 1;
}

#indicadores .container {
  position: relative;
  z-index: 2;
}

/* Sección indicadores (ex panel KPI del hero) */
.section-kpi {
  padding-top: 3rem;
  padding-bottom: 4rem;
}

.section-kpi-title {
  margin: 0 0 1.75rem;
  font-family: "Conthrax", "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: var(--section-title-size);
  font-weight: 600;
  text-align: center;
  color: var(--text);
  letter-spacing: 0;
  text-transform: uppercase;
}

/* Panel KPI Impacto WTS: contenedor sin fondo (cifras sobre el fondo de sección) */
.kpi-panel {
  position: relative;
  padding: 1rem 0.25rem 1.25rem;
  border-radius: 0;
  max-width: min(64rem, 100%);
  margin: 0 auto;
}

#indicadores .kpi-panel--impact {
  background: none;
  border: none;
  box-shadow: none;
}

.hero-kpi-eyebrow {
  margin: 0 0 1rem;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: center;
  color: #fff;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.12);
}

/* Impacto WTS: 3 cifras por fila, tipografía uniforme */
.kpi-impact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.1rem 0.85rem;
  margin: 0;
}

.kpi-impact-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin: 0;
  min-height: 7rem;
  padding: 0.75rem 0.35rem 0.6rem;
  border-radius: 0;
  background: none;
  border: none;
}

#indicadores .kpi-impact-cell:nth-child(7) {
  grid-column: 2;
}

.kpi-impact-value,
.kpi-impact-value .counter {
  font-family: "Orbitron", system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(2.8rem, 7.15vw, 4.15rem);
  line-height: 1.05;
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1.4px var(--kpi-neon);
  text-shadow:
    0 0 5px color-mix(in srgb, var(--kpi-neon) 44%, transparent),
    0 0 11px color-mix(in srgb, var(--kpi-neon) 29%, transparent),
    0 0 18px color-mix(in srgb, var(--kpi-neon-deep) 18%, transparent);
}

.kpi-impact-label {
  margin: 0.65rem 0 0;
  max-width: 12.5rem;
  font-family: "Michroma", sans-serif;
  font-size: clamp(0.5rem, 1.35vw, 0.68rem);
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.45;
  color: rgba(240, 253, 255, 0.92);
}

.hero-kpi-btn {
  background: #ffffff !important;
  color: var(--primary) !important;
  border: 1px solid rgba(255, 255, 255, 0.95) !important;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.12) !important;
}

.hero-kpi-btn:hover {
  transform: translateY(var(--btn-lift));
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.16) !important;
  color: var(--accent) !important;
}

.hero-kpi-btn.btn-cta-shine::before {
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(227, 71, 159, 0.12) 40%,
    rgba(227, 71, 159, 0.22) 50%,
    rgba(227, 71, 159, 0.12) 60%,
    transparent 100%
  );
}

@media (max-width: 960px) {
  .hero {
    padding-top: 5.3rem;
  }

  .hero-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #indicadores .kpi-panel {
    max-width: 100%;
  }
}

/* Móvil: 2 indicadores por fila */
@media (max-width: 767px) {
  .kpi-impact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem 0.4rem;
  }

  .kpi-impact-cell {
    min-height: 6.25rem;
    padding: 0.55rem 0.2rem 0.5rem;
  }

  #indicadores .kpi-impact-cell:nth-child(7) {
    grid-column: auto;
  }

  .kpi-impact-value,
  .kpi-impact-value .counter {
    font-size: clamp(2.28rem, 8.05vw, 3.12rem);
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1.15px var(--kpi-neon);
    text-shadow:
      0 0 4px color-mix(in srgb, var(--kpi-neon) 40%, transparent),
      0 0 9px color-mix(in srgb, var(--kpi-neon) 24%, transparent),
      0 0 14px color-mix(in srgb, var(--kpi-neon-deep) 15%, transparent);
  }

  .kpi-impact-label {
    font-size: clamp(0.45rem, 2.8vw, 0.58rem);
    letter-spacing: 0.04em;
    max-width: none;
  }
}

.copy h2 {
  margin: 0 0 0.6rem;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: var(--section-title-size);
  color: var(--text-dark);
}

.copy p {
  margin: 0 0 0.8rem;
  font-size: 0.97rem;
  color: #5a5779;
}

.section:not(.section-light) .copy p {
  color: var(--text-muted);
}

.pillars {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  width: 100%;
}

.pillars-item {
  position: relative;
  overflow: visible;
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.6rem 1.35rem 1.75rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 16px 40px rgba(9, 6, 52, 0.12);
  text-align: center;
  cursor: default;
  transition:
    transform var(--transition-med),
    box-shadow var(--transition-med);
}

.pillars-item:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

/* Paleta WTS: accent, primary y mezclas ya usadas en hero / botones */
.pillars-item--innovacion {
  background: linear-gradient(150deg, var(--bg-elevated) 0%, var(--accent) 42%, #c2b5ff 100%);
  color: #fff;
}

.pillars-item--diversidad {
  background: linear-gradient(150deg, var(--bg-elevated) 0%, var(--primary) 38%, #9bdcff 100%);
  color: #fff;
}

.pillars-item--conexion {
  background: linear-gradient(120deg, #9bdcff 0%, var(--primary) 42%, var(--accent) 100%);
  color: #fff;
}

.pillars-item-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.pillars-item h3 {
  margin: 0;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 1.22rem;
  font-weight: 600;
  line-height: 1.3;
  color: inherit;
}

.pillars-item p {
  margin: 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  font-size: 0.88rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.92);
  transition:
    max-height 380ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 280ms ease-out,
    margin-top 380ms ease-out;
}

.pillars-item:hover,
.pillars-item:focus-within {
  transform: translateY(var(--btn-lift));
  box-shadow: 0 22px 50px rgba(9, 6, 52, 0.18);
}

.pillars-item:hover .pillars-item-inner,
.pillars-item:focus-within .pillars-item-inner {
  transform: translateY(-10px);
}

.pillars-item:hover p,
.pillars-item:focus-within p {
  max-height: 22rem;
  opacity: 1;
  margin-top: 0.75rem;
}

@media (prefers-reduced-motion: reduce) {
  .pillars-item:hover,
  .pillars-item:focus-within {
    transform: none;
  }

  .pillars-item:hover .pillars-item-inner,
  .pillars-item:focus-within .pillars-item-inner {
    transform: none;
  }

  .pillars-item p {
    max-height: none;
    opacity: 1;
    margin-top: 0.65rem;
  }
}

@media (max-width: 1100px) {
  .pillars {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.35rem;
    max-width: 32rem;
    margin-inline: auto;
  }

  .pillars-item {
    min-height: 260px;
    padding: 1.75rem 1.5rem 1.85rem;
  }
}

@media (max-width: 768px) {
  .pillars {
    max-width: none;
  }

  .pillars-item {
    min-height: 240px;
  }
}

/* —— Aquí empieza tu conexión (redes) —— */
.section-connect-social {
  position: relative;
  overflow: hidden;
  color: var(--text);
  background: transparent;
  padding-block: 6.75rem;
}

/* Separador sutil para marcar inicio de “AQUI EMPIEZA TU CONEXIÓN” */
.wts-continuous-band #conexion-redes.section-connect-social::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40%;
  height: 1px;
  pointer-events: none;
  z-index: 2;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.16) 50%, transparent 100%);
  opacity: 0.95;
  box-shadow:
    0 0 16px rgba(227, 71, 159, 0.18),
    0 0 22px rgba(126, 51, 238, 0.2),
    0 0 28px rgba(34, 211, 238, 0.12);
}

.section-connect-social-header {
  margin-bottom: 2.75rem;
}

.section-connect-social-header h2 {
  margin: 0;
  font-family: "Conthrax", "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  /* ~20% más grande que --section-title-size (1.75/4/2.35 → ×1.2) */
  font-size: clamp(2.1rem, 4.8vw, 2.82rem);
  color: #ffffff;
  text-align: center;
  text-wrap: balance;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.2);
}

.connect-social-hashtag {
  margin: 2.35rem auto 0;
  width: fit-content;
  padding: 0;
  border-radius: 0;
  font-family: "Conthrax", "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  font-size: clamp(1.95rem, 4.914vw, 2.574rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.95);
  -webkit-text-stroke: 1px rgba(34, 211, 238, 0.9);
  text-stroke: 1px rgba(34, 211, 238, 0.9);
  background: transparent;
  border: none;
  text-shadow:
    0 0 1px rgba(34, 211, 238, 0.9),
    0 0 10px rgba(34, 211, 238, 0.75),
    0 0 22px rgba(34, 211, 238, 0.5),
    0 0 38px rgba(11, 131, 254, 0.35),
    0 12px 44px rgba(0, 0, 0, 0.35);
  box-shadow: none;
}

.connect-wtc-follow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  margin-top: 1.15rem;
  color: rgba(255, 255, 255, 0.9);
}

.connect-wtc-follow p {
  margin: 0;
  font-size: clamp(0.98rem, 2vw, 1.12rem);
  font-weight: 600;
  letter-spacing: 0.01em;
}

.connect-wtc-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.7rem;
  height: 2.7rem;
  border-radius: 50%;
  color: #fff;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow: 0 0 16px rgba(34, 211, 238, 0.22);
  transition:
    transform var(--transition-med),
    background var(--transition-med),
    border-color var(--transition-med);
}

.connect-wtc-link:hover {
  transform: translateY(-2px) scale(1.04);
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.45);
}

.connect-wtc-link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

.connect-wtc-link .ui-icon {
  width: 1.15rem;
  height: 1.15rem;
  filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.35));
}

/* Desktop: mantener una línea */
@media (min-width: 768px) {
  .section-connect-social-header h2 {
    white-space: nowrap;
  }
}

/* Móvil: permitir salto de línea (evita corte) */
@media (max-width: 767px) {
  .section-connect-social-header h2 {
    white-space: normal;
    font-size: clamp(1.75rem, 6vw, 2.25rem);
  }

  .connect-wtc-follow {
    flex-direction: column;
    gap: 0.7rem;
    text-align: center;
  }

  .connect-social-list {
    flex-wrap: nowrap;
    justify-content: center;
    gap: clamp(0.5rem, 2.8vw, 0.85rem);
    max-width: 100%;
    padding-inline: 0.25rem;
  }

  .connect-social-glow {
    flex-shrink: 0;
    width: clamp(3.15rem, 18vw, 3.65rem);
    height: clamp(3.15rem, 18vw, 3.65rem);
    font-size: clamp(1.15rem, 5vw, 1.35rem);
  }
}

.connect-social-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: clamp(1.15rem, 3.2vw, 2rem);
  list-style: none;
  margin: 0;
  padding: 0;
}

.connect-social-glow {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.65rem;
  height: 4.65rem;
  border-radius: 50%;
  color: #fff;
  font-size: 1.55rem;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.28);
  transition:
    transform var(--transition-med),
    background var(--transition-med),
    border-color var(--transition-med);
  animation: connect-social-brillo 2.8s ease-in-out infinite;
}

.connect-social-list li:nth-child(1) .connect-social-glow {
  animation-delay: 0s;
}
.connect-social-list li:nth-child(2) .connect-social-glow {
  animation-delay: 0.35s;
}
.connect-social-list li:nth-child(3) .connect-social-glow {
  animation-delay: 0.7s;
}
.connect-social-list li:nth-child(4) .connect-social-glow {
  animation-delay: 1.05s;
}
.connect-social-list li:nth-child(5) .connect-social-glow {
  animation-delay: 1.4s;
}
.connect-social-list li:nth-child(6) .connect-social-glow {
  animation-delay: 1.75s;
}

.connect-social-glow .ui-icon {
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.35));
  animation: connect-social-icon-glow 2.8s ease-in-out infinite;
}

.connect-social-list li:nth-child(2) .connect-social-glow .ui-icon {
  animation-delay: 0.35s;
}
.connect-social-list li:nth-child(3) .connect-social-glow .ui-icon {
  animation-delay: 0.7s;
}
.connect-social-list li:nth-child(4) .connect-social-glow .ui-icon {
  animation-delay: 1.05s;
}
.connect-social-list li:nth-child(5) .connect-social-glow .ui-icon {
  animation-delay: 1.4s;
}
.connect-social-list li:nth-child(6) .connect-social-glow .ui-icon {
  animation-delay: 1.75s;
}

.connect-social-glow:hover {
  transform: translateY(-4px) scale(1.04);
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.45);
}

.connect-social-glow:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

@keyframes connect-social-brillo {
  0%,
  100% {
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, 0.2),
      0 0 18px rgba(255, 255, 255, 0.12),
      0 0 32px rgba(180, 160, 255, 0.2);
  }
  50% {
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, 0.4),
      0 0 28px rgba(255, 255, 255, 0.35),
      0 0 52px rgba(255, 200, 255, 0.35);
  }
}

@keyframes connect-social-icon-glow {
  0%,
  100% {
    filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.25));
  }
  50% {
    filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.65));
  }
}

@media (prefers-reduced-motion: reduce) {
  .connect-social-glow {
    animation: none;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.25), 0 0 16px rgba(255, 255, 255, 0.12);
  }

  .connect-social-glow .ui-icon {
    animation: none;
    filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.3));
  }
}

/* —— Ubicación / sede (Universidad de Lima) —— */
#ubicacion {
  scroll-margin-top: 5.5rem;
}

.section-venue {
  background: linear-gradient(180deg, #f8f6ff 0%, var(--bg-soft) 45%, #f0ecfc 100%);
}

/* Sin data-aos: la sección no depende de JS para ser visible */
#ubicacion .section-header,
#ubicacion .venue-card,
#ubicacion .venue-map-wrap {
  opacity: 1;
  transform: none;
}

.section-venue .section-header p {
  color: #5a5779;
}

.venue-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 2.25rem 2.5rem;
  align-items: start;
}

.venue-cards {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}

.venue-card {
  margin: 0;
  padding: 1.25rem 1.35rem 1.35rem;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 14px 40px rgba(18, 15, 50, 0.08);
  border: 1px solid rgba(127, 93, 255, 0.1);
}

.venue-card-head {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
}

.venue-card-icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: var(--primary);
  background: linear-gradient(135deg, var(--primary-soft), var(--accent-soft));
  border-radius: 12px;
  border: 1px solid rgba(227, 71, 159, 0.2);
}

.venue-card-title-row {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.65rem;
}

.venue-card h3 {
  margin: 0;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--primary);
  line-height: 1.25;
}

.venue-badge {
  display: inline-block;
  padding: 0.22rem 0.55rem;
  border-radius: 6px;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(135deg, var(--primary), #c93d87);
  box-shadow: 0 4px 12px rgba(227, 71, 159, 0.25);
}

.venue-card-rule {
  margin: 0.95rem 0 0.85rem;
  border: none;
  border-top: 1px solid rgba(18, 15, 50, 0.08);
}

.venue-card p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: #4c4868;
}

.venue-map-wrap {
  position: sticky;
  top: 5.5rem;
}

.venue-map-frame {
  border-radius: 1.35rem;
  padding: 1rem 1rem 1.15rem;
  background: linear-gradient(
    165deg,
    rgba(127, 93, 255, 0.42) 0%,
    var(--accent) 28%,
    var(--primary) 72%,
    rgba(5, 4, 22, 0.92) 100%
  );
  box-shadow: 0 22px 56px rgba(127, 93, 255, 0.28);
}

.venue-map-label {
  margin: 0 0 0.75rem;
  text-align: center;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #fff;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.15);
}

.venue-map-embed {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: #e8e4f5;
  aspect-ratio: 1 / 1.12;
  min-height: 280px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
}

.venue-map-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.venue-map-fallback {
  margin: 0.85rem 0 0;
  text-align: center;
  font-size: 0.88rem;
}

.venue-map-fallback a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.venue-map-fallback a:hover {
  color: #f0e8ff;
}

@media (max-width: 960px) {
  .venue-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .venue-map-wrap {
    position: static;
    order: -1;
  }

  .venue-map-embed {
    aspect-ratio: 16 / 11;
    min-height: 260px;
  }
}

@media (max-width: 640px) {
  .venue-map-embed {
    min-height: 220px;
  }
}

.tabs {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.35rem;
  margin-bottom: 2rem;
  border-radius: 999px;
  background: rgba(10, 7, 35, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.tabs .tab {
  border-radius: 999px;
  border: none;
  padding: 0.4rem 0.9rem;
  font-size: 0.8rem;
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  transition: background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}

.tabs .tab:hover {
  transform: translateY(var(--btn-lift));
}

.tabs .tab.is-active {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  transform: translateY(var(--btn-lift));
}

.cards-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.3rem;
}

/* Slider Comité - forzar que Swiper se reconozca y muestre 4 por vista */
.comite-swiper {
  padding: 0.5rem 1rem 1.25rem;
  overflow: hidden;
  width: 100vw;
  /* “Full-bleed” para que ocupe todo el ancho del sitio */
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  min-height: 320px;
}

.comite-swiper .swiper-wrapper {
  display: flex;
  align-items: stretch;
}

.comite-swiper .swiper-slide {
  height: auto;
  flex-shrink: 0;
  box-sizing: border-box;
}

.comite-swiper .card-person-large {
  height: 100%;
}

.comite-swiper .swiper-button-prev,
.comite-swiper .swiper-button-next {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(18, 15, 50, 0.22);
  background: rgba(255, 255, 255, 0.62);
  backdrop-filter: blur(10px);
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(18, 15, 50, 0.18);
  transition: transform var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: center;
}

.comite-swiper .swiper-button-prev::after,
.comite-swiper .swiper-button-next::after {
  display: none;
}

.comite-swiper .swiper-pagination,
.comite-swiper .swiper-pagination-bullet {
  display: none;
}

.comite-prev {
  left: 1rem;
}

.comite-next {
  right: 1rem;
}

.comite-prev::before,
.comite-next::before {
  content: "";
  width: 18px;
  height: 18px;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
}

.comite-prev,
.comite-next {
  background-image: none;
}

.comite-prev {
  /* icon */
}

.comite-next {
  /* icon */
}

.comite-prev::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M15 18l-6-6 6-6' stroke='%23120F32' stroke-opacity='0.82' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.comite-next::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M9 6l6 6-6 6' stroke='%23120F32' stroke-opacity='0.82' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.comite-prev:hover,
.comite-next:hover {
  transform: translateY(var(--btn-lift));
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 0 14px 30px rgba(18, 15, 50, 0.22);
}

.card-person--highlight {
  border-color: rgba(167, 139, 250, 0.55);
  box-shadow:
    0 18px 54px rgba(167, 139, 250, 0.26),
    0 10px 26px rgba(0, 0, 0, 0.18);
  transform: translateY(-2px);
}

.card-person--highlight .person-photo {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(216, 202, 255, 0.95));
}

.card-person--highlight .person-photo img {
  transform: scale(1.04);
}

.card-person {
  position: relative;
  border-radius: 1.1rem;
  background: radial-gradient(circle at top, rgba(255, 183, 233, 0.12) 0, transparent 55%),
    linear-gradient(155deg, rgba(10, 8, 45, 0.96), rgba(6, 4, 30, 0.98));
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: var(--shadow-subtle);
  overflow: hidden;
}

.card-person-large {
  display: flex;
  flex-direction: column;
}

.person-photo {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
}

.person-linkedin {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  z-index: 3;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(5, 4, 22, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
  font-size: 1rem;
  line-height: 1;
  transition:
    transform var(--transition-fast),
    background var(--transition-fast),
    border-color var(--transition-fast),
    box-shadow var(--transition-fast);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
}

.person-linkedin:hover {
  transform: scale(1.06);
  background: #0a66c2;
  border-color: rgba(255, 255, 255, 0.35);
  box-shadow: 0 10px 24px rgba(10, 102, 194, 0.35);
}

.person-linkedin:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.person-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform var(--transition-med);
}

.card-person-large:hover .person-photo img {
  transform: scale(1.08);
}

.card-body {
  padding: 0.9rem 0.95rem 1.1rem;
  text-align: center;
}

.card-body h3,
.card-body .person-name {
  margin: 0 0 0.15rem;
  font-size: 0.95rem;
}

/* Bandera junto al nombre (comité y speakers) */
.person-name {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
  max-width: 100%;
  line-height: 1.25;
}

.card-body .person-name {
  justify-content: center;
  margin-inline: auto;
}

/* Speakers ahora usa .card-body (card-person) */

.person-flag-img {
  width: 1.35rem;
  height: auto;
  aspect-ratio: 5 / 3;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.22);
  flex-shrink: 0;
}

#comite.section-comite .person-flag-img {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25);
}

.card-body .role {
  margin: 0;
  font-size: 0.8rem;
  color: var(--text-muted);
}

.card-body .meta {
  margin: 0.45rem 0 0;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.9);
}

.section-light .card-person {
  background: #ffffff;
  border-color: rgba(9, 6, 52, 0.08);
}

.section-light .card-body .meta {
  color: #5a5779;
}

.carousel {
  position: relative;
  overflow: hidden;
}

.carousel-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(240px, 1fr);
  gap: 1.2rem;
  transition: transform 320ms ease-out;
}

/* Speakers ahora reutiliza el mismo card que Comité (card-person). */

.carousel-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: none;
  background: rgba(5, 4, 22, 0.85);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background var(--transition-fast), transform var(--transition-fast), opacity var(--transition-fast);
}

/* Hover/énfasis en Speakers: mismo comportamiento visual que en Comité */
#speakers.section-speakers .swiper-slide:hover .card-person {
  box-shadow:
    0 24px 70px rgba(227, 71, 159, 0.22),
    0 18px 60px rgba(0, 0, 0, 0.35);
  border-color: rgba(227, 71, 159, 0.24);
}

.carousel-control:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(calc(-50% + var(--btn-lift))) scale(1.03);
}

.carousel-control.prev {
  left: -0.2rem;
}

.carousel-control.next {
  right: -0.2rem;
}

.carousel-dots {
  display: flex;
  justify-content: center;
  gap: 0.45rem;
  margin-top: 1.4rem;
}

.carousel-dots .dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: none;
  background: rgba(255, 255, 255, 0.32);
  cursor: pointer;
  transition: width var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);
}

.carousel-dots .dot:hover {
  transform: translateY(var(--btn-lift));
}

.carousel-dots .dot.is-active {
  width: 22px;
  background: linear-gradient(120deg, var(--primary), var(--accent));
  transform: translateY(var(--btn-lift));
}

@media (max-width: 767px) {
  .speakers-swiper {
    min-height: 260px;
  }

  /* Speakers ahora usa .person-photo (card-person) */
}

@media (max-width: 640px) {
  .carousel-control.prev {
    left: 0.5rem;
  }

  .carousel-control.next {
    right: 0.5rem;
  }

  /* Speakers ahora usa .card-person-large / .person-photo (card-person) */
}

.timeline {
  position: relative;
  max-width: 720px;
  margin: 0 auto;
  padding-left: 1.85rem;
}

.timeline::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 0.2rem;
  bottom: 0.2rem;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(to bottom, var(--accent-soft), var(--primary-soft));
}

.timeline-item {
  position: relative;
  padding: 0.45rem 0 1.2rem 1.55rem;
}

.timeline-badge {
  position: absolute;
  left: -0.42rem;
  top: 0.12rem;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #ffffff;
  border: 3px solid var(--primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--accent);
}

.timeline-body {
  padding: 0.75rem 1rem;
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(17, 12, 84, 0.1);
}

.timeline-body h3 {
  margin: 0 0 0.3rem;
  font-size: 1rem;
}

.timeline-body p {
  margin: 0;
  font-size: 0.88rem;
  color: #5a5779;
}

/* Página Agenda: cronograma tipo summit */
.event-agenda-disclaimer {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  max-width: 48rem;
  margin: 0 auto 1.75rem;
  padding: 0.85rem 1rem;
  border-radius: var(--radius-md);
  font-size: 0.88rem;
  line-height: 1.5;
  color: #4a4668;
  background: linear-gradient(
    120deg,
    rgba(127, 93, 255, 0.1) 0%,
    rgba(227, 71, 159, 0.08) 100%
  );
  border: 1px solid rgba(127, 93, 255, 0.22);
}

.event-agenda-disclaimer i {
  margin-top: 0.12rem;
  color: var(--primary);
}

.agenda-general-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.65rem 1rem;
  margin-bottom: 0.35rem;
}

.agenda-general-title {
  margin: 0;
}

.agenda-preliminary-badge {
  display: inline-block;
  padding: 0.32rem 0.7rem;
  border-radius: 4px;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #1a1400;
  background: #f5c518;
}

.event-agenda {
  list-style: none;
  max-width: 46rem;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.agenda-page .section.section-light {
  padding-bottom: 8.5rem;
}

.agenda-page .event-agenda {
  max-width: 54rem;
  gap: 0.85rem;
  margin-bottom: 1.5rem;
}

.event-agenda-row {
  display: grid;
  grid-template-columns: 6.25rem minmax(0, 1fr);
  gap: 0.75rem 1.25rem;
  align-items: start;
}

.agenda-page .event-agenda-row {
  grid-template-columns: minmax(5.75rem, 7.25rem) minmax(0, 1fr) minmax(3.75rem, 4.5rem);
  align-items: center;
  gap: 0.65rem 0.9rem;
}

.event-agenda-label {
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.3;
  color: #14122a;
  text-align: right;
}

.event-agenda-label-sub {
  display: block;
  font-size: 0.68rem;
  font-weight: 500;
  color: #5a5779;
}

.event-agenda-duration {
  font-size: 0.8rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: #4a4668;
  text-align: left;
  white-space: nowrap;
}

.event-agenda-time {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  font-size: 0.82rem;
  line-height: 1.35;
  letter-spacing: 0.02em;
  color: var(--primary);
  padding-top: 0.35rem;
  text-align: right;
}

.event-agenda-time time {
  white-space: nowrap;
}

.event-agenda-time-sep {
  display: inline-block;
  margin: 0 0.08rem;
  font-weight: 500;
  color: rgba(90, 87, 121, 0.65);
}

.event-agenda-card {
  padding: 1rem 1.15rem 1.05rem;
  border-radius: var(--radius-md);
  background: #ffffff;
  border: 1px solid rgba(127, 93, 255, 0.2);
  box-shadow: 0 10px 32px rgba(17, 12, 84, 0.08);
}

.event-agenda-card--break {
  background: linear-gradient(
    135deg,
    rgba(127, 93, 255, 0.07) 0%,
    rgba(227, 71, 159, 0.06) 55%,
    #ffffff 100%
  );
  border-color: rgba(127, 93, 255, 0.14);
}

.event-agenda-card--keynote {
  border-color: rgba(227, 71, 159, 0.35);
  box-shadow:
    0 10px 32px rgba(17, 12, 84, 0.08),
    0 0 0 1px rgba(227, 71, 159, 0.12) inset;
}

.event-agenda-card--workshop {
  border-left: 4px solid var(--accent);
}

.event-agenda-card--empty {
  min-height: 5.15rem;
  background: linear-gradient(135deg, rgba(127, 93, 255, 0.06) 0%, rgba(11, 131, 254, 0.04) 55%, #ffffff 100%);
  border-color: rgba(127, 93, 255, 0.14);
}

/* Agenda general: barras por tipo de actividad */
.agenda-page .event-agenda-card--logistics,
.agenda-page .event-agenda-card--panel,
.agenda-page .event-agenda-card--block,
.agenda-page .event-agenda-card--award {
  padding: 0.85rem 1rem;
  text-align: center;
  border: none;
  box-shadow: 0 8px 24px rgba(17, 12, 84, 0.12);
}

.agenda-page .event-agenda-card--logistics .event-agenda-title,
.agenda-page .event-agenda-card--panel .event-agenda-title,
.agenda-page .event-agenda-card--block .event-agenda-title,
.agenda-page .event-agenda-card--award .event-agenda-title {
  margin: 0;
  color: #ffffff;
  font-weight: 700;
}

.agenda-page .event-agenda-card--logistics {
  background: linear-gradient(135deg, #121218 0%, #2d2d38 100%);
}

.agenda-page .event-agenda-card--panel {
  background: linear-gradient(135deg, #0a5eb8 0%, #1a8ef5 55%, #0b83fe 100%);
}

.agenda-page .event-agenda-card--block {
  background: linear-gradient(135deg, #5a28b8 0%, #8b4dff 55%, #7f5dff 100%);
  clip-path: polygon(0 0, 100% 0, 94% 50%, 100% 100%, 0 100%, 6% 50%);
}

.agenda-page .event-agenda-card--award {
  background: linear-gradient(135deg, #00a8c8 0%, #4dc8ff 100%);
}

.event-agenda-kind {
  display: inline-block;
  margin-bottom: 0.35rem;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent);
}

.event-agenda-title {
  margin: 0 0 0.4rem;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.3;
  color: #14122a;
}

.event-agenda-meta {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.45;
  color: #5a5779;
}

@media (max-width: 560px) {
  .event-agenda-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .agenda-page .event-agenda-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.45rem;
  }

  .agenda-page .event-agenda-label {
    text-align: left;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.25rem 0.5rem;
  }

  .agenda-page .event-agenda-label-sub {
    display: inline;
  }

  .agenda-page .event-agenda-duration {
    text-align: right;
    padding-top: 0.1rem;
  }

  .agenda-page .event-agenda-card--block {
    clip-path: none;
    border-radius: var(--radius-md);
  }

  .event-agenda-time {
    text-align: left;
    padding-top: 0;
    padding-bottom: 0.15rem;
    border-bottom: 1px solid rgba(127, 93, 255, 0.15);
  }
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.35rem;
}

.stat-card {
  padding: 1.4rem 1.3rem 1.2rem;
  border-radius: 1.2rem;
  background: radial-gradient(circle at top, rgba(255, 183, 233, 0.15) 0, transparent 60%),
    linear-gradient(160deg, rgba(11, 8, 49, 0.98), rgba(4, 3, 22, 0.98));
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: var(--shadow-subtle);
}

.stat-card h3 {
  margin: 0 0 0.4rem;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 1.5rem;
  color: var(--text);
}

.stat-card p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--text-muted);
}

/* DATOS: tarjetas con color propio, brillo y cifras grandes */
#datos .stat-card,
.section-datos-stats .stat-card {
  position: relative;
  overflow: hidden;
  padding: 1.65rem 1.4rem 1.45rem;
  border-radius: var(--radius-lg);
  transition: transform var(--transition-med), box-shadow var(--transition-med);
  text-align: center;
}

#datos .stat-card::after,
.section-datos-stats .stat-card::after {
  content: "";
  position: absolute;
  top: -40%;
  left: -100%;
  width: 55%;
  height: 180%;
  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255, 255, 255, 0.22) 42%,
    rgba(255, 255, 255, 0.06) 55%,
    transparent 70%
  );
  transform: rotate(22deg);
  pointer-events: none;
  animation: datos-gleam 10s ease-in-out infinite;
}

#datos .stat-card--cyan::after,
.section-datos-stats .stat-card--cyan::after {
  animation-delay: 0s;
}
#datos .stat-card--lilac::after,
.section-datos-stats .stat-card--lilac::after {
  animation-delay: -3.3s;
}
#datos .stat-card--magenta::after,
.section-datos-stats .stat-card--magenta::after {
  animation-delay: -6.6s;
}

@keyframes datos-gleam {
  0%,
  100% {
    left: -100%;
    opacity: 0;
  }
  8% {
    opacity: 1;
  }
  45% {
    left: 130%;
    opacity: 0.85;
  }
  55% {
    opacity: 0;
  }
}

#datos .stat-card:hover,
.section-datos-stats .stat-card:hover {
  transform: translateY(-4px);
}

#datos .stat-card--cyan,
.section-datos-stats .stat-card--cyan {
  background: linear-gradient(155deg, rgba(6, 40, 62, 0.95) 0%, rgba(5, 6, 32, 0.98) 55%, rgba(4, 3, 22, 1) 100%);
  border: 1px solid rgba(34, 211, 238, 0.5);
  box-shadow:
    0 8px 32px rgba(11, 131, 254, 0.28),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 0 48px rgba(34, 211, 238, 0.12);
}

#datos .stat-card--lilac,
.section-datos-stats .stat-card--lilac {
  background: linear-gradient(155deg, rgba(45, 25, 72, 0.95) 0%, rgba(8, 6, 40, 0.98) 50%, rgba(5, 4, 22, 1) 100%);
  border: 1px solid rgba(196, 181, 253, 0.45);
  box-shadow:
    0 8px 32px rgba(126, 51, 238, 0.32),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 0 52px rgba(167, 139, 250, 0.15);
}

#datos .stat-card--magenta,
.section-datos-stats .stat-card--magenta {
  background: linear-gradient(155deg, rgba(62, 18, 48, 0.92) 0%, rgba(10, 6, 35, 0.97) 55%, rgba(5, 4, 22, 1) 100%);
  border: 1px solid rgba(244, 114, 182, 0.42);
  box-shadow:
    0 8px 32px rgba(227, 71, 159, 0.25),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 0 44px rgba(236, 72, 153, 0.12);
}

#datos .stat-number,
.section-datos-stats .stat-number {
  margin: 0 auto 0.65rem;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: clamp(2.85rem, 8vw, 4.15rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  text-align: center;
  width: 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

#datos .stat-card--cyan .stat-number,
.section-datos-stats .stat-card--cyan .stat-number {
  background-image: linear-gradient(125deg, #67e8f9 0%, #0b83fe 45%, #22d3ee 100%);
  filter: drop-shadow(0 0 20px rgba(34, 211, 238, 0.45)) drop-shadow(0 4px 16px rgba(11, 131, 254, 0.35));
}

#datos .stat-card--lilac .stat-number,
.section-datos-stats .stat-card--lilac .stat-number {
  background-image: linear-gradient(125deg, #e9d5ff 0%, #a78bfa 35%, #7e33ee 70%, #c4b5fd 100%);
  filter: drop-shadow(0 0 22px rgba(167, 139, 250, 0.5)) drop-shadow(0 4px 18px rgba(126, 51, 238, 0.35));
}

#datos .stat-card--magenta .stat-number,
.section-datos-stats .stat-card--magenta .stat-number {
  background-image: linear-gradient(125deg, #fbcfe8 0%, #f472b6 40%, #e3479f 75%, #f9a8d4 100%);
  filter: drop-shadow(0 0 20px rgba(244, 114, 182, 0.42)) drop-shadow(0 4px 16px rgba(227, 71, 159, 0.3));
}

#datos .stat-card p,
.section-datos-stats .stat-card p {
  font-size: 0.92rem;
  line-height: 1.5;
  color: rgba(230, 226, 255, 0.88);
}

@media (prefers-reduced-motion: reduce) {
  #datos .stat-card::after,
  .section-datos-stats .stat-card::after {
    animation: none;
    opacity: 0;
  }

  #datos .stat-card:hover,
  .section-datos-stats .stat-card:hover {
    transform: none;
  }
}

@media (max-width: 768px) {
  .datos-story-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.75rem;
  }

  .section-datos-header {
    text-align: center;
  }

  #datos .section-header.section-datos-header p {
    font-size: 14px;
    line-height: 1.6;
  }

  .stats-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .stats-grid--datos {
    grid-template-columns: minmax(0, 1fr);
  }

  #datos .stat-number {
    font-size: clamp(2.6rem, 12vw, 3.4rem);
  }
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: stretch;
}

.pricing-card {
  position: relative;
  padding: 1.7rem 1.6rem 1.7rem;
  border-radius: 1.5rem;
  background: radial-gradient(circle at top, rgba(255, 183, 233, 0.12) 0, transparent 55%),
    linear-gradient(155deg, rgba(16, 10, 61, 0.98), rgba(3, 3, 24, 0.98));
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: var(--shadow-soft);
}

.pricing-card h3 {
  margin: 0 0 0.4rem;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 1.1rem;
}

.pricing-card .price {
  margin: 0 0 1rem;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 2rem;
}

.pricing-list {
  list-style: none;
  margin: 0 0 1.4rem;
  padding: 0;
  font-size: 0.88rem;
  color: var(--text-muted);
}

.pricing-list li {
  position: relative;
  padding-left: 1.2rem;
}

.pricing-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.1rem;
  font-size: 0.8rem;
  color: #7ec8ff;
}

.pricing-card .badge {
  position: absolute;
  top: 1rem;
  right: 1.1rem;
  padding: 0.2rem 0.8rem;
  border-radius: 999px;
  font-size: 0.73rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  background: rgba(227, 71, 159, 0.15);
  border: 1px solid rgba(227, 71, 159, 0.8);
}

.pricing-card.highlight {
  transform: translateY(-4px);
}

@media (max-width: 768px) {
  .pricing-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .pricing-card.highlight {
    transform: none;
  }
}

/* —— Entradas: tabla comparativa (Beyond / Stem / Diversity) —— */
.wts-compare-wrap {
  margin-top: 0.25rem;
}

.wts-compare-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 1.25rem;
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.35);
}

.wts-compare-table {
  width: 100%;
  min-width: 860px;
  border-collapse: separate;
  border-spacing: 0;
  color: #1b163f;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

.wts-compare-table thead th {
  padding: 1.15rem 0.85rem 1rem;
  text-align: center;
  vertical-align: bottom;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(18, 15, 50, 0.1);
  background: #ffffff;
}

.wts-compare-benefits-head {
  text-align: left !important;
  color: #e3479a;
  font-family: "Conthrax", "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  width: 44%;
  padding-left: 1.25rem !important;
}

.wts-compare-tier-head {
  color: #3949ab;
  font-family: "Conthrax", "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  width: 18.66%;
}

.wts-compare-table tbody th,
.wts-compare-table tbody td {
  border-bottom: 1px solid rgba(18, 15, 50, 0.08);
  vertical-align: middle;
}

.wts-compare-benefit {
  text-align: left;
  font-weight: 500;
  font-size: 0.92rem;
  line-height: 1.45;
  padding: 0.85rem 1.25rem;
  color: rgba(18, 15, 50, 0.92);
  background: #ffffff;
}

.wts-compare-cell {
  text-align: center;
  padding: 0.75rem 0.65rem;
  background: #ffffff;
}

.wts-compare-dot {
  display: inline-block;
  width: 0.62rem;
  height: 0.62rem;
  border-radius: 999px;
  background: #e3479a;
  box-shadow: 0 0 0 6px rgba(227, 71, 159, 0.12);
}

.wts-compare-empty {
  display: inline-block;
  width: 0.62rem;
  height: 0.62rem;
  border-radius: 999px;
  border: 1px dashed rgba(18, 15, 50, 0.18);
  opacity: 0.55;
}

.wts-compare-table tfoot th,
.wts-compare-table tfoot td {
  border-bottom: none;
  background: #ffffff;
}

.wts-compare-prices .wts-compare-benefit {
  border-top: 1px solid rgba(18, 15, 50, 0.12);
  font-family: "Conthrax", "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #e3479a;
}

.wts-compare-price-cell {
  text-align: center;
  padding: 1rem 0.65rem 0.85rem;
  border-top: 1px solid rgba(18, 15, 50, 0.12);
}

.wts-compare-price {
  font-family: "Conthrax", "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  color: #3949ab;
  letter-spacing: 0.04em;
  line-height: 1.25;
}

.wts-compare-price + .wts-compare-price {
  margin-top: 0.2rem;
}

.wts-compare-cta td {
  padding: 0.85rem 0.65rem 1.15rem;
  background: #ffffff;
}

.wts-compare-cta-spacer {
  width: 44%;
}

.wts-compare-cta-cell .btn {
  white-space: nowrap;
}

.wts-compare-cta-cell .btn-neon {
  display: inline-flex;
  align-items: center;
  width: 100%;
  max-width: 100%;
}

@media (max-width: 900px) {
  .wts-compare-benefit {
    position: sticky;
    left: 0;
    z-index: 2;
    box-shadow: 10px 0 18px rgba(18, 15, 50, 0.06);
  }

  .wts-compare-benefits-head {
    position: sticky;
    left: 0;
    z-index: 3;
    box-shadow: 10px 0 18px rgba(18, 15, 50, 0.06);
  }

  .wts-compare-cta-spacer {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #ffffff;
    box-shadow: 10px 0 18px rgba(18, 15, 50, 0.06);
  }
}

/* Entradas: acordeón de planes (móvil) */
.wts-compare-accordion {
  display: none;
  flex-direction: column;
  gap: 0.75rem;
}

.wts-plan-card {
  border-radius: 1.1rem;
  background: #ffffff;
  border: 1px solid rgba(18, 15, 50, 0.1);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.22);
  overflow: hidden;
}

.wts-plan-card[open] {
  border-color: rgba(227, 71, 159, 0.35);
  box-shadow:
    0 16px 44px rgba(0, 0, 0, 0.28),
    0 0 0 1px rgba(227, 71, 159, 0.12);
}

.wts-plan-card__summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  gap: 0.2rem 0.65rem;
  align-items: center;
  padding: 1rem 1.1rem;
  cursor: pointer;
  list-style: none;
}

.wts-plan-card__summary::-webkit-details-marker {
  display: none;
}

.wts-plan-card__summary::after {
  content: "";
  grid-row: 1 / span 2;
  grid-column: 2;
  width: 0.55rem;
  height: 0.55rem;
  border-right: 2px solid #3949ab;
  border-bottom: 2px solid #3949ab;
  transform: rotate(45deg);
  transition: transform 0.2s ease;
  align-self: center;
  justify-self: end;
}

.wts-plan-card[open] .wts-plan-card__summary::after {
  transform: rotate(-135deg);
  margin-top: 0.35rem;
}

.wts-plan-card__name {
  grid-column: 1;
  font-family: "Conthrax", "Poppins", system-ui, sans-serif;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #3949ab;
}

.wts-plan-card__prices {
  grid-column: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
}

.wts-plan-card__price {
  font-family: "Conthrax", "Poppins", system-ui, sans-serif;
  font-weight: 600;
  font-size: 0.88rem;
  color: #e3479a;
  letter-spacing: 0.03em;
}

.wts-plan-card__body {
  padding: 0 1.1rem 1.1rem;
  border-top: 1px solid rgba(18, 15, 50, 0.08);
}

.wts-plan-benefits {
  margin: 0;
  padding: 0.85rem 0 1rem;
  list-style: none;
}

.wts-plan-benefits__item {
  position: relative;
  padding: 0.5rem 0 0.5rem 1.65rem;
  font-size: 0.88rem;
  line-height: 1.45;
  color: rgba(18, 15, 50, 0.9);
  border-bottom: 1px solid rgba(18, 15, 50, 0.06);
}

.wts-plan-benefits__item:last-child {
  border-bottom: none;
}

.wts-plan-benefits__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72rem;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
}

.wts-plan-benefits__item.is-included::before {
  background: #e3479a;
  box-shadow: 0 0 0 5px rgba(227, 71, 159, 0.12);
}

.wts-plan-benefits__item.is-excluded {
  color: rgba(18, 15, 50, 0.45);
}

.wts-plan-benefits__item.is-excluded::before {
  border: 1px dashed rgba(18, 15, 50, 0.22);
  background: transparent;
}

.wts-plan-card__cta {
  width: 100%;
}

@media (max-width: 767px) {
  .wts-compare-accordion {
    display: flex;
  }

  .wts-compare-scroll {
    display: none;
  }

  .wts-compare-wrap {
    border-radius: 0;
    background: transparent;
    border: none;
    box-shadow: none;
  }
}

@media (min-width: 768px) {
  .wts-compare-accordion {
    display: none !important;
  }
}

/* —— Experiencias WTS (fondo3 · parallax) —— */
.section-activities {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: #0a061c;
  color: var(--text);
  padding-top: 2.35rem;
  padding-bottom: 2.35rem;
}

.section-activities::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url("../img/fondo3.png");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  opacity:0.7;
}

.section-activities::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: var(--wts-bg-image-scrim-veil), var(--wts-bg-image-scrim-strong);
}

.section-activities .container {
  position: relative;
  z-index: 1;
}

.section-activities-header {
  margin-bottom: 2.25rem;
}

.activities-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.6rem;
  align-items: stretch;
}

.activity-card {
  border-radius: 1.5rem;
  background: rgba(5, 4, 22, 0.56);
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow:
    0 22px 70px rgba(0, 0, 0, 0.34),
    0 0 0 1px rgba(255, 255, 255, 0.05) inset;
  overflow: hidden;
  transition:
    transform var(--transition-med),
    box-shadow var(--transition-med),
    border-color var(--transition-med);
}

.activity-card:hover,
.activity-card:focus-within {
  transform: translateY(-4px);
  border-color: rgba(60, 255, 170, 0.25);
  box-shadow:
    0 26px 82px rgba(34, 211, 238, 0.12),
    0 26px 82px rgba(126, 51, 238, 0.12),
    0 26px 82px rgba(227, 71, 159, 0.12),
    0 18px 52px rgba(0, 0, 0, 0.36),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset;
}

.activity-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  overflow: hidden;
  background: rgba(5, 4, 22, 0.35);
}

.activity-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(1.05) contrast(1.02);
  transition: transform var(--transition-med);
}

.activity-card:hover .activity-media img,
.activity-card:focus-within .activity-media img {
  transform: scale(1.04);
}

.activity-title {
  margin: 1rem 1.1rem 0.5rem;
  font-family: "Conthrax", "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-size: 1.1rem;
  color: var(--primary);
  text-shadow:
    0 0 20px rgba(11, 131, 254, 0.22),
    0 0 26px rgba(34, 211, 238, 0.12);
}

.activity-copy {
  margin: 0 1.1rem 1.25rem;
  color: rgba(235, 232, 255, 0.9);
  font-size: 0.92rem;
  line-height: 1.55;
}

@media (max-width: 1024px) {
  .activities-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .activities-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.bullets {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
}

.bullets li {
  position: relative;
  padding-left: 1rem;
  font-size: 0.9rem;
  color: #5a5779;
}

.bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: linear-gradient(120deg, var(--primary), var(--accent));
}

.section:not(.section-light) .bullets li {
  color: var(--text-muted);
}

/* Columna izquierda contacto/sponsor: lista de beneficios muy visible */
#contacto .sponsor-benefits {
  margin-top: 1.5rem;
  padding: 1.25rem 1.35rem 1.35rem;
  border-radius: var(--radius-lg);
  background: #ffffff;
  border: 1px solid rgba(127, 93, 255, 0.28);
  box-shadow:
    0 4px 6px rgba(18, 15, 50, 0.04),
    0 18px 48px rgba(18, 15, 50, 0.1);
}

#contacto .bullets.bullets--sponsor,
#contacto .sponsor-benefits .bullets {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

#contacto .bullets.bullets--sponsor li,
#contacto .sponsor-benefits .bullets li {
  padding: 0.75rem 0.85rem 0.75rem 3rem;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.45;
  color: #14122a;
  letter-spacing: -0.015em;
  background: linear-gradient(
    90deg,
    rgba(227, 71, 159, 0.07) 0%,
    rgba(127, 93, 255, 0.05) 55%,
    rgba(255, 255, 255, 0.6) 100%
  );
  border-radius: var(--radius-md);
  border-left: 4px solid var(--primary);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

#contacto .bullets.bullets--sponsor li::before,
#contacto .sponsor-benefits .bullets li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 0.62rem;
  left: 0.95rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  color: #fff;
  background: linear-gradient(145deg, var(--primary), #c43a8a 45%, var(--accent));
  box-shadow: 0 4px 14px rgba(227, 71, 159, 0.42);
  border: none;
}

@media (max-width: 768px) {
  #contacto .bullets.bullets--sponsor li,
  #contacto .sponsor-benefits .bullets li {
    font-size: 1rem;
    padding-left: 2.85rem;
  }
}

.contact-form {
  padding: 1.5rem 1.4rem 1.6rem;
  border-radius: 1.4rem;
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(16, 12, 82, 0.12);
}

.field {
  margin-bottom: 0.9rem;
}

.field-half {
  width: 50%;
  display: inline-block;
  padding-right: 0.6rem;
}

.field-half + .field-half {
  padding-right: 0;
}

.field label, .wpforms-container .wpforms-form .wpforms-field-label {
  display: block;
  margin-bottom: 0.2rem;
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #77729c;
}

.wpforms-container-full:not(:empty){
margin:0!important;
}

.wpforms-field{
padding:5px 0px!important;
}

.field input,
.field select,
.field textarea, .wpforms-container-full input[type=text], .wpforms-container-full input[type=email], .wpforms-container-full input[type=text], .wpforms-container-full input {
  width: 100%;
  border-radius: 0.9rem!important;
  border: 1px solid rgba(9, 6, 52, 0.16)!important;
  padding: 0.7rem 0.8rem!important;
  font-size: 0.88rem!important;
  background: #faf9ff!important;
  outline: none!important;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}

.field textarea {
  resize: vertical;
  min-height: 90px;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--accent);
  background: #ffffff;
  box-shadow: 0 0 0 1px rgba(127, 93, 255, 0.2);
}

@media (max-width: 640px) {
  .field-half {
    width: 100%;
    padding-right: 0;
  }
}

.site-footer {
  position: relative;
  z-index: 2;
  margin-top: clamp(-3.25rem, -7vw, -1.75rem);
  display: grid;
  grid-template-rows: clamp(8rem, 20vw, 12rem) auto;
  align-content: start;
  overflow: visible;
  background-color: #050416;
  /* Imagen 50% alto + desvanecido arriba y abajo hacia #050416 */
  background-image:
    linear-gradient(
      180deg,
      #050416 0%,
      rgba(5, 4, 22, 0.72) 7%,
      transparent 20%,
      transparent 52%,
      rgba(5, 4, 22, 0.35) 68%,
      #050416 90%,
      #050416 100%
    ),
    url("../img/fondofooter.jpeg");
  background-repeat: no-repeat, no-repeat;
  background-position: center top, center top;
  background-size: 100% 50%, 100% 50%;
  --footer-icon-glow-cyan: #4dc8ff;
  --footer-icon-glow-purple: #8637fa;
  --footer-icon-neon-border: color-mix(in srgb, #6ee4ff 48%, #8637fa 52%);
}

.site-footer__content {
  grid-row: 2;
  grid-column: 1;
  position: relative;
  z-index: 1;
  margin: clamp(-2.25rem, -3.5vw, -1.25rem) 0 0;
  background: none;
  border-top: none;
  padding: clamp(0.15rem, 0.6vw, 0.45rem) 0 clamp(0.85rem, 2vw, 1.15rem);
}

@media (max-width: 767px) {
  .site-footer {
    --footer-img-band: clamp(6.25rem, 22vw, 9rem);
    grid-template-rows: var(--footer-img-band) auto;
    background-image:
      linear-gradient(
        180deg,
        #050416 0%,
        rgba(5, 4, 22, 0.75) 8%,
        transparent 22%,
        transparent 56%,
        rgba(5, 4, 22, 0.42) 72%,
        #050416 92%,
        #050416 100%
      ),
      url("../img/fondofooter.jpeg");
    background-size: 100% var(--footer-img-band), contain;
    background-position: center top, center top;
  }

  .site-footer__content {
    margin-top: clamp(-1.35rem, -4vw, -0.75rem);
    padding-top: 0;
  }
}

.footer-grid {
  display: grid;
  grid-template-columns: clamp(160px, 18vw, 240px) minmax(0, 1.55fr) auto;
  gap: clamp(1.25rem, 3vw, 2.25rem);
  align-items: center;
}

.footer-brand {
  max-width: 240px;
}

.footer-title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
}

.footer-logo-link {
  display: inline-block;
  line-height: 0;
}

.footer-logo-img {
  display: block;
  width: min(220px, 100%);
  height: auto;
  filter:
    drop-shadow(0 0 5px rgba(255, 255, 255, 0.55))
    drop-shadow(0 0 14px rgba(255, 255, 255, 0.32))
    drop-shadow(0 0 28px rgba(255, 255, 255, 0.16));
  transition: filter 0.35s ease;
}

.footer-logo-link:hover .footer-logo-img {
  filter:
    drop-shadow(0 0 6px rgba(255, 255, 255, 0.68))
    drop-shadow(0 0 18px rgba(255, 255, 255, 0.42))
    drop-shadow(0 0 34px rgba(255, 255, 255, 0.22));
}

.footer-text {
  margin: 0;
  font-size: 0.85rem;
  color: var(--text-muted);
}

.footer-heading {
  margin: 0 0 0.85rem;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(240, 236, 255, 0.72);
}

.footer-column ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.85rem;
  color: var(--text-muted);
}

/* Información WTS */

.footer-info-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 0.5rem 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Iconos footer: degradado celeste → morado neón + glow unificado */
.site-footer .footer-info-card__icon .ui-icon,
.site-footer .footer-social-link .ui-icon,
.site-footer .footer-info-card__icon .ui-icon use,
.site-footer .footer-social-link .ui-icon use {
  fill: url(#footer-icon-gradient);
}

.site-footer .footer-info-card__icon .ui-icon,
.site-footer .footer-social-link .ui-icon {
  display: block;
  filter:
    drop-shadow(0 0 4px rgba(77, 200, 255, 0.85))
    drop-shadow(0 0 10px rgba(110, 228, 255, 0.58))
    drop-shadow(0 0 18px rgba(126, 51, 238, 0.45))
    drop-shadow(0 0 28px rgba(200, 85, 247, 0.3));
  transition: filter 0.35s ease;
}

.footer-info-card {
  flex: 0 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: auto;
  padding: 0.25rem 0.35rem;
  text-align: center;
  background: none;
  border: none;
  box-shadow: none;
}

.footer-info-card:nth-child(2),
.footer-info-card:last-child {
  margin: 0;
}

.footer-info-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  font-size: 1.65rem;
}

.footer-info-card__icon .ui-icon {
  width: 1.15em;
  height: 1.15em;
}

.footer-info-card__text,
.footer-info-card__link {
  font-size: clamp(0.72rem, 1.4vw, 0.84rem);
  font-weight: 600;
  line-height: 1.35;
  color: #ffffff;
  text-shadow: 0 0 12px rgba(255, 255, 255, 0.28);
  word-break: break-word;
}

.footer-info-card__link {
  text-decoration: none;
  transition: color 0.2s ease, text-shadow 0.2s ease;
}

.footer-info-card__link:hover {
  color: #ffffff;
  text-shadow:
    0 0 10px rgba(255, 255, 255, 0.55),
    0 0 20px rgba(255, 255, 255, 0.28);
}

/* Redes sociales: iconos en círculos neón */
.footer-column--social {
  justify-self: end;
  text-align: center;
}

.footer-column--social .footer-heading {
  margin-bottom: 1rem;
}

.footer-social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  box-sizing: border-box;
  border-radius: 50%;
  font-size: 1.25rem;
  color: #ffffff;
  background: rgba(5, 4, 22, 0.35);
  border: 2.5px solid rgba(255, 255, 255, 0.16);
  box-shadow: none;
  transition:
    transform var(--transition-fast),
    box-shadow 0.35s ease,
    border-color 0.35s ease,
    background 0.35s ease;
}

.footer-social-link .ui-icon {
  width: 1.15em;
  height: 1.15em;
}

.footer-social-link:hover,
.footer-social-link:focus-visible {
  background: rgba(5, 4, 22, 0.45);
  border-color: var(--footer-icon-neon-border);
  transform: translateY(-3px);
  box-shadow:
    0 0 3px rgba(255, 255, 255, 0.75),
    0 0 10px rgba(77, 200, 255, 0.75),
    0 0 22px rgba(126, 51, 238, 0.55),
    0 0 38px rgba(200, 85, 247, 0.32),
    inset 0 0 16px rgba(126, 51, 238, 0.14);
}

.footer-social-link:hover .ui-icon,
.footer-social-link:focus-visible .ui-icon {
  filter:
    drop-shadow(0 0 4px rgba(255, 255, 255, 0.9))
    drop-shadow(0 0 12px rgba(77, 200, 255, 0.85))
    drop-shadow(0 0 22px rgba(126, 51, 238, 0.62))
    drop-shadow(0 0 36px rgba(200, 85, 247, 0.42));
}

.footer-social-link:focus-visible {
  outline: 2px solid color-mix(in srgb, #6ee4ff 50%, #8637fa 50%);
  outline-offset: 3px;
}

.nosotros-organizado-por {
  text-align: center;
  padding-top: 2.25rem;
  padding-bottom: 2.25rem;
}

.nosotros-organizado-por-title {
  margin: 0 0 1rem;
  font-family: "Conthrax", "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0;
  font-weight: 600;
  font-size: clamp(1.05rem, 2.2vw, 1.35rem);
  color: rgba(255, 255, 255, 0.9);
}

.nosotros-organizado-por-logo {
  width: min(240px, 72vw);
  height: auto;
  display: inline-block;
}

.footer-newsletter {
  margin-top: 1.35rem;
}

.footer-newsletter-heading {
  margin-bottom: 0.55rem;
}

.footer-newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.footer-newsletter-input {
  width: 100%;
  box-sizing: border-box;
  border-radius: 0.85rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  padding: 0.65rem 0.85rem;
  font-size: 0.88rem;
  color: #f5f3ff;
  background: rgba(12, 11, 37, 0.65);
  outline: none;
  transition:
    border-color var(--transition-fast),
    box-shadow var(--transition-fast),
    background var(--transition-fast);
}

.footer-newsletter-input::placeholder {
  color: rgba(245, 243, 255, 0.42);
}

.footer-newsletter-input:focus {
  border-color: rgba(227, 71, 159, 0.45);
  background: rgba(18, 16, 48, 0.85);
  box-shadow: 0 0 0 1px rgba(127, 93, 255, 0.28);
}

.footer-newsletter-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border: none;
  border-radius: 0.85rem;
  padding: 0.65rem 1rem;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  box-shadow: 0 8px 22px rgba(227, 71, 159, 0.35);
  transition:
    transform var(--transition-fast),
    box-shadow var(--transition-med),
    filter var(--transition-fast);
}

.footer-newsletter-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow: 0 12px 28px rgba(127, 93, 255, 0.4);
}

.footer-newsletter-status {
  margin: 0;
  min-height: 1.1em;
  font-size: 0.78rem;
  line-height: 1.35;
  color: #f5b8dc;
}

.footer-newsletter-status:empty {
  display: none;
}

.footer-newsletter-hint {
  margin: 0.45rem 0 0;
  font-size: 0.72rem;
  color: var(--text-muted);
}

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

.footer-bottom {
  margin-top: 1.35rem;
  padding-top: 0.25rem;
  padding-bottom: 0.15rem;
  border-top: none;
  font-size: 0.78rem;
  color: var(--text-muted);
  text-align: center;
}

.footer-bottom::before {
  content: "";
  display: block;
  width: min(11rem, 52vw);
  height: 2px;
  margin: 0 auto 1rem;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(77, 200, 255, 0.25) 15%,
    rgba(255, 255, 255, 0.95) 50%,
    rgba(200, 85, 247, 0.25) 85%,
    transparent 100%
  );
  box-shadow:
    0 0 4px rgba(255, 255, 255, 0.75),
    0 0 12px rgba(77, 200, 255, 0.45),
    0 0 22px rgba(126, 51, 238, 0.28);
}

@media (max-width: 1024px) {
  .footer-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
    text-align: center;
    justify-items: center;
  }

  .footer-grid > * {
    min-width: 0;
    max-width: 100%;
  }

  .footer-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    justify-self: stretch;
    width: 100%;
    max-width: none;
    margin-inline: auto;
    text-align: center;
  }

  .footer-brand .footer-heading,
  .footer-brand .footer-title {
    width: 100%;
    max-width: 100%;
    text-align: center;
  }

  .footer-brand .footer-heading {
    padding-inline: 0.07em;
  }

  .footer-brand .footer-title {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
  }

  .footer-logo-link {
    display: block;
    width: fit-content;
    max-width: min(220px, 100%);
    margin-inline: auto;
  }

  .footer-logo-img {
    width: 100%;
    max-width: min(220px, 100%);
    margin-inline: auto;
  }

  .footer-column--info {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
    overflow: hidden;
  }

  .footer-info-cards {
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0.5rem 0.75rem;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .footer-info-cards::-webkit-scrollbar {
    display: none;
  }

  .footer-info-card {
    flex-direction: row;
    align-items: center;
    gap: 0.4rem;
    padding: 0.15rem 0.3rem;
    white-space: nowrap;
  }

  .footer-info-card__icon {
    width: 2rem;
    height: 2rem;
    font-size: 1.1rem;
    flex-shrink: 0;
  }

  .footer-info-card__text,
  .footer-info-card__link {
    font-size: clamp(0.65rem, 2.2vw, 0.78rem);
    white-space: nowrap;
    word-break: normal;
  }

  .footer-column--social {
    text-align: center;
    justify-self: center;
  }

  .footer-social-link {
    background: rgba(5, 4, 22, 0.45);
    border-color: var(--footer-icon-neon-border);
    box-shadow:
      0 0 3px rgba(255, 255, 255, 0.75),
      0 0 10px rgba(77, 200, 255, 0.75),
      0 0 22px rgba(126, 51, 238, 0.55),
      0 0 38px rgba(200, 85, 247, 0.32),
      inset 0 0 16px rgba(126, 51, 238, 0.14);
  }

  .footer-social-link .ui-icon {
    filter:
      drop-shadow(0 0 4px rgba(255, 255, 255, 0.9))
      drop-shadow(0 0 12px rgba(77, 200, 255, 0.85))
      drop-shadow(0 0 22px rgba(126, 51, 238, 0.62))
      drop-shadow(0 0 36px rgba(200, 85, 247, 0.42));
  }

  .footer-social-link:hover,
  .footer-social-link:focus-visible {
    transform: translateY(-2px);
  }
}

@media (max-width: 640px) {
  .footer-info-cards {
    gap: 0.35rem 0.5rem;
  }

  .footer-info-card {
    gap: 0.35rem;
    padding: 0.15rem 0.25rem;
  }

  .footer-info-card__icon {
    width: 1.75rem;
    height: 1.75rem;
    font-size: 1rem;
  }

  .footer-info-card__text,
  .footer-info-card__link {
    font-size: 0.62rem;
  }
}

/* Latido en tonos WTS (botón flotante redes) */
@keyframes latido-social {
  0% {
    box-shadow: 0 0 0 0 rgba(227, 71, 159, 0.55);
  }
  55% {
    box-shadow: 0 0 0 14px rgba(127, 93, 255, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(127, 93, 255, 0);
  }
}

.social-float {
  position: fixed;
  right: 24px;
  left: auto;
  z-index: 1000;
  /* Flotante desactivado (pedido) */
  display: none !important;
  flex-direction: column-reverse;
  align-items: center;
  gap: 0.65rem;
}

/* Desktop: “a media altura” como en el mock, despliega hacia arriba */
@media (min-width: 768px) {
  .social-float {
    top: 55%;
    bottom: auto;
    transform: translateY(-50%);
  }
}

/* Mobile: mantener abajo a la derecha */
@media (max-width: 767px) {
  .social-float {
    bottom: 28px;
    top: auto;
    transform: none;
  }
}

.social-float-links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  list-style: none;
  margin: 0;
  padding: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  pointer-events: none;
  transition:
    opacity 220ms ease-out,
    transform 220ms ease-out,
    visibility 220ms;
}

.social-float.is-open .social-float-links {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.social-float-link {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.15rem;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.social-float-link:hover {
  transform: scale(1.08) translateY(-2px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}

.social-float-link--facebook {
  background: #1877f2;
}

.social-float-link--instagram {
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
}

.social-float-link--linkedin {
  background: #0a66c2;
}

.social-float-link--whatsapp {
  background: #25d366;
}

.social-float-toggle {
  width: 58px;
  height: 58px;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  color: #fff;
  font-size: 1.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  box-shadow: 0 10px 28px rgba(227, 71, 159, 0.45);
  animation: latido-social 2.2s ease-out infinite;
  transition: transform var(--transition-fast), filter var(--transition-fast);
}

.social-float-toggle:hover {
  transform: scale(1.06);
  filter: brightness(1.05);
}

.social-float-toggle:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.social-float.is-open .social-float-toggle {
  animation: none;
  box-shadow: 0 10px 28px rgba(127, 93, 255, 0.4);
}

.social-float-toggle .ui-icon {
  transition: transform 220ms ease;
}

.social-float.is-open .social-float-toggle .ui-icon {
  transform: rotate(90deg);
}

@media (prefers-reduced-motion: reduce) {
  .social-float-toggle {
    animation: none;
  }

  .social-float-links {
    transition: opacity 0.01ms;
  }
}

@media (max-width: 480px) {
  .social-float {
    bottom: 20px;
    right: 16px;
    left: auto;
  }
}


/* Slider Marcas e instituciones */
.sponsors-swiper,
.institutions-swiper {
  padding-block: 0.5rem 0.75rem;
  overflow: hidden;
  width: 100%;
}

/* ===== Noticias + Sede (franja oscura común, estrellas, títulos neón) ===== */
.wts-stars-band {
  position: relative;
  overflow: hidden;
  background: linear-gradient(
    180deg,
    var(--temas-datos-bridge) 0%,
    #08051e 16%,
    #060414 50%,
    #0a061c 100%
  );
  isolation: isolate;
}

.wts-stars-band__veil {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(ellipse 92% 52% at 50% -8%, rgba(134, 55, 250, 0.22) 0%, transparent 54%),
    radial-gradient(ellipse 48% 42% at 0% 88%, rgba(6, 144, 254, 0.14) 0%, transparent 48%),
    radial-gradient(ellipse 44% 38% at 100% 68%, rgba(241, 123, 198, 0.12) 0%, transparent 50%);
}

.wts-stars-band__stars {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.wts-stars-band #noticias,
.wts-stars-band #ubicacion {
  position: relative;
  z-index: 1;
  background: transparent !important;
}

.wts-stars-band #noticias.section-news {
  padding-top: 4.25rem;
  padding-bottom: 2.75rem;
}

.wts-stars-band #ubicacion.section-venue {
  padding-top: 2.75rem;
  padding-bottom: calc(5rem + clamp(1.25rem, 4vw, 2.75rem));
}

.wts-stars-band .section-light .section-header p {
  color: rgba(232, 228, 255, 0.9);
}

.wts-star {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  transform: translate3d(0, 0, 0);
  animation: wts-star-drift 6.8s ease-in-out infinite;
}

.wts-stars-band__stars .wts-star:nth-child(3n + 1) {
  background: #7ef9ff;
  box-shadow:
    0 0 8px rgba(6, 144, 254, 0.95),
    0 0 18px rgba(6, 144, 254, 0.45);
}

.wts-stars-band__stars .wts-star:nth-child(3n + 2) {
  background: #d4b8ff;
  box-shadow:
    0 0 8px rgba(134, 55, 250, 0.9),
    0 0 18px rgba(134, 55, 250, 0.4);
}

.wts-stars-band__stars .wts-star:nth-child(3n) {
  background: #ffc4ea;
  box-shadow:
    0 0 8px rgba(241, 123, 198, 0.88),
    0 0 18px rgba(241, 123, 198, 0.38);
}

.wts-stars-band__stars .wts-star:nth-child(5n) {
  width: 2px;
  height: 2px;
}

.wts-stars-band__stars .wts-star:nth-child(4n) {
  width: 4px;
  height: 4px;
}

.wts-stars-band__stars .wts-star:nth-child(1) {
  left: 5%;
  top: 8%;
  animation-duration: 5.4s;
  animation-delay: -0.4s;
}
.wts-stars-band__stars .wts-star:nth-child(2) {
  left: 14%;
  top: 22%;
  animation-duration: 7.2s;
  animation-delay: -1.1s;
}
.wts-stars-band__stars .wts-star:nth-child(3) {
  left: 22%;
  top: 6%;
  animation-duration: 6.1s;
  animation-delay: -2.3s;
}
.wts-stars-band__stars .wts-star:nth-child(4) {
  left: 38%;
  top: 14%;
  animation-duration: 8s;
  animation-delay: -0.8s;
}
.wts-stars-band__stars .wts-star:nth-child(5) {
  left: 52%;
  top: 9%;
  animation-duration: 5.9s;
  animation-delay: -3.2s;
}
.wts-stars-band__stars .wts-star:nth-child(6) {
  left: 68%;
  top: 18%;
  animation-duration: 7.6s;
  animation-delay: -1.6s;
}
.wts-stars-band__stars .wts-star:nth-child(7) {
  left: 82%;
  top: 7%;
  animation-duration: 6.4s;
  animation-delay: -2.8s;
}
.wts-stars-band__stars .wts-star:nth-child(8) {
  left: 92%;
  top: 24%;
  animation-duration: 5.2s;
  animation-delay: -0.2s;
}
.wts-stars-band__stars .wts-star:nth-child(9) {
  left: 8%;
  top: 48%;
  animation-duration: 7.1s;
  animation-delay: -4.1s;
}
.wts-stars-band__stars .wts-star:nth-child(10) {
  left: 28%;
  top: 58%;
  animation-duration: 6.6s;
  animation-delay: -1.9s;
}
.wts-stars-band__stars .wts-star:nth-child(11) {
  left: 44%;
  top: 42%;
  animation-duration: 8.2s;
  animation-delay: -2.4s;
}
.wts-stars-band__stars .wts-star:nth-child(12) {
  left: 58%;
  top: 52%;
  animation-duration: 5.6s;
  animation-delay: -3.5s;
}
.wts-stars-band__stars .wts-star:nth-child(13) {
  left: 74%;
  top: 44%;
  animation-duration: 7.4s;
  animation-delay: -0.6s;
}
.wts-stars-band__stars .wts-star:nth-child(14) {
  left: 88%;
  top: 56%;
  animation-duration: 6.2s;
  animation-delay: -2.1s;
}
.wts-stars-band__stars .wts-star:nth-child(15) {
  left: 18%;
  top: 78%;
  animation-duration: 5.8s;
  animation-delay: -1.3s;
}
.wts-stars-band__stars .wts-star:nth-child(16) {
  left: 48%;
  top: 86%;
  animation-duration: 7.8s;
  animation-delay: -4.6s;
}

@keyframes wts-star-drift {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 0.42;
  }
  35% {
    transform: translate3d(4px, -6px, 0) scale(1.35);
    opacity: 0.95;
  }
  68% {
    transform: translate3d(-3px, 4px, 0) scale(0.9);
    opacity: 0.55;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wts-star {
    animation: none;
    opacity: 0.65;
  }
}

/* Título neón (relleno transparente, borde + halo paleta) */
.wts-stars-band .section-header h2.wts-neon-section-title {
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.wts-neon-section-title {
  position: relative;
  display: inline-block;
  margin: 0;
  font-family: "Orbitron", "Michroma", system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: clamp(1.85rem, 4.2vw, 2.85rem);
  line-height: 1.12;
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 2.75px rgba(210, 254, 255, 0.94);
  paint-order: stroke fill;
  text-shadow:
    0 0 14px rgba(6, 144, 254, 0.75),
    0 0 28px rgba(134, 55, 250, 0.48),
    0 0 44px rgba(241, 123, 198, 0.32),
    0 0 64px rgba(6, 144, 254, 0.18);
}

.wts-neon-section-title::before {
  content: attr(data-text);
  position: absolute;
  left: 0;
  top: 0;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  pointer-events: none;
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 9px transparent;
  background: linear-gradient(
    92deg,
    #d8ffff 0%,
    #4df5ff 14%,
    #0690fe 40%,
    #8637fa 68%,
    #ffb8e8 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  z-index: -1;
  filter: blur(5px);
  opacity: 0.82;
}

@media (prefers-reduced-transparency: reduce) {
  .wts-neon-section-title::before {
    filter: none;
    opacity: 0.55;
  }
}

.wts-neon-section-title--venue {
  letter-spacing: 0.06em;
  text-transform: none;
  font-size: clamp(1.45rem, 3.4vw, 2.15rem);
}

.section-news {
  background: transparent;
}

#sponsors.section-light .section-header h2,
#institutions.section-light .section-header h2 {
  color: #06081e;
}

#galeria.section-gallery {
  position: relative;
  overflow: hidden;
  color: var(--text);
  background: linear-gradient(180deg, #0c0828 0%, #110c38 100%);
  border-top: none;
  border-bottom: none;
}

.section-gallery-header {
  margin-bottom: 2rem;
}

.gallery-tabs {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  margin: -0.75rem auto 1.5rem;
  flex-wrap: wrap;
}

.gallery-tab {
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(5, 4, 22, 0.45);
  color: rgba(245, 243, 255, 0.92);
  padding: 0.6rem 1rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-med);
}

.gallery-tab:hover {
  transform: translateY(-1px);
  border-color: rgba(167, 139, 250, 0.45);
}

.gallery-tab.is-active {
  background: linear-gradient(135deg, #0b83fe 0%, #7e33ee 48%, #e3479f 100%);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 16px 44px rgba(227, 71, 159, 0.18);
  color: #ffffff;
}

.gallery-tab:focus-visible {
  outline: 2px solid rgba(34, 211, 238, 0.55);
  outline-offset: 3px;
}

.gallery-panel[hidden] {
  display: none;
}

.gallery-bleed {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0 1.5rem 2.75rem;
  box-sizing: border-box;
}

.wts-gallery-swiper {
  position: relative;
  max-width: 1080px; /* ~10% menos que 1200px: mejor encuadre en altura */
  margin: 0 auto;
  padding: 0.5rem 3.25rem 1rem;
}

.wts-gallery-slide {
  border-radius: 22px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow:
    0 0 28px rgba(34, 211, 238, 0.24),
    0 0 52px rgba(34, 211, 238, 0.1),
    0 22px 64px rgba(12, 8, 40, 0.58),
    0 14px 40px rgba(12, 8, 40, 0.42),
    0 8px 22px rgba(12, 8, 40, 0.32);
}

.wts-gallery-slide img {
  width: 100%;
  height: clamp(420px, 68vh, 760px);
  object-fit: cover;
  object-position: center;
  display: block;
}

.wts-gallery-prev,
.wts-gallery-next {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(5, 4, 22, 0.65);
  backdrop-filter: blur(12px);
  cursor: pointer;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.35);
  z-index: 10;
  transition: transform var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);
}

.wts-gallery-prev:hover,
.wts-gallery-next:hover {
  background: rgba(5, 4, 22, 0.82);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.42);
}

.wts-gallery-prev {
  left: 0.5rem;
}

.wts-gallery-next {
  right: 0.5rem;
}

.wts-gallery-prev::before,
.wts-gallery-next::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: 2px solid rgba(255, 255, 255, 0.8);
  border-right: 2px solid rgba(255, 255, 255, 0.8);
}

.wts-gallery-prev::before {
  transform: rotate(225deg);
}

.wts-gallery-next::before {
  transform: rotate(45deg);
}

.wts-gallery-thumbs {
  max-width: 1080px;
  margin: 0.9rem auto 0;
  padding: 0 0.25rem;
}

/* Centrar miniaturas cuando no ocupan todo el ancho */
.wts-gallery-thumbs .swiper-wrapper {
  justify-content: center;
}

.wts-gallery-thumb {
  width: 120px;
  height: 76px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.04);
  opacity: 0.75;
  transition: opacity var(--transition-fast), transform var(--transition-fast);
}

.wts-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
}

.wts-gallery-thumbs .swiper-slide-thumb-active .wts-gallery-thumb,
.wts-gallery-thumbs .swiper-slide-thumb-active {
  opacity: 1;
}

.wts-gallery-thumb:hover {
  transform: translateY(-2px);
  opacity: 1;
}

@media (max-width: 640px) {
  .gallery-bleed {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .wts-gallery-swiper {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  /* Móvil: menos alto y ver imagen más completa */
  .wts-gallery-slide {
    background: rgba(5, 4, 22, 0.72);
  }

  .wts-gallery-slide img {
    height: clamp(260px, 44vh, 420px);
    object-fit: contain;
    object-position: center;
  }

  .wts-gallery-thumb {
    width: 96px;
    height: 64px;
  }

  /* Móvil: ocultar flechas de la galería */
  .wts-gallery-prev,
  .wts-gallery-next {
    display: none;
  }
}

.news-swiper {
  position: relative;
  width: 100%;
  max-width: calc((370px * 3.7) + (18px * 2.7) + (6px * 3.7));
  margin-left: auto;
  margin-right: auto;
  padding: 0.75rem 1.5rem 2.25rem;
  overflow: hidden;
}

/* Ocultar paginación (círculos) si Swiper la inyecta */
.news-swiper .swiper-pagination {
  display: none !important;
}

/* Mantener el contenido dentro de slides en LTR */
.news-swiper .swiper-slide {
  direction: ltr;
  height: auto;
}

.news-card {
  margin: 0;
  border-radius: 18px;
  overflow: hidden;
  border: 5px solid transparent;
  background:
    linear-gradient(180deg, #ffffff 0%, #faf8ff 100%) padding-box,
    linear-gradient(135deg, #0b83fe 0%, #7e33ee 48%, #e3479f 100%) border-box;
  background-clip: padding-box, border-box;
  background-origin: border-box;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.16) inset,
    inset 0 1px 0 rgba(255, 255, 255, 0.38),
    0 0 3px rgba(255, 255, 255, 0.22),
    0 0 14px rgba(11, 131, 254, 0.55),
    0 0 30px rgba(11, 131, 254, 0.38),
    0 0 46px rgba(126, 51, 238, 0.32),
    0 0 40px rgba(227, 71, 159, 0.28),
    0 18px 48px rgba(18, 15, 50, 0.14);
  width: 346px;
  height: 656px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 10px 8px 11px;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition:
    transform var(--transition-fast),
    box-shadow var(--transition-med);
}

/* Marco tipo móvil + barra de navegador; la imagen va en el “viewport” */
.news-card-shell {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(165deg, #3c3c4a 0%, #282830 42%, #16161d 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    inset 0 -10px 24px rgba(0, 0, 0, 0.38);
}

.news-card-shell__browser {
  flex-shrink: 0;
  padding: 9px 9px 7px;
  background: linear-gradient(180deg, #4a4a56 0%, #34343e 100%);
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
}

.news-card-shell__browser-top {
  display: flex;
  align-items: center;
  gap: 7px;
}

.news-card-shell__nav {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.news-card-shell__nav--back {
  position: relative;
}

.news-card-shell__nav--back::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 7px;
  height: 7px;
  border-left: 2px solid rgba(255, 255, 255, 0.78);
  border-bottom: 2px solid rgba(255, 255, 255, 0.78);
  transform: translate(-32%, -50%) rotate(45deg);
}

.news-card-shell__nav--menu {
  position: relative;
}

.news-card-shell__nav--menu::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 3px;
  height: 3px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.72);
  box-shadow:
    0 -5px 0 0 rgba(255, 255, 255, 0.72),
    0 5px 0 0 rgba(255, 255, 255, 0.72);
}

.news-card-shell__omni {
  flex: 1;
  min-width: 0;
  height: 28px;
  border-radius: 11px;
  background: rgba(0, 0, 0, 0.32);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
}

.news-card-shell__omni-text {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: rgba(255, 255, 255, 0.5);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.news-card-shell__viewport {
  flex: 1 1 auto;
  min-height: 0;
  background: linear-gradient(180deg, #eceef4 0%, #e2e6f0 100%);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
}

.news-card-shell__viewport img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top center;
  display: block;
}

.news-card:hover,
.news-card:focus-visible {
  transform: translateY(-2px);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.22) inset,
    inset 0 1px 0 rgba(255, 255, 255, 0.48),
    0 0 4px rgba(255, 255, 255, 0.32),
    0 0 18px rgba(11, 131, 254, 0.68),
    0 0 38px rgba(11, 131, 254, 0.48),
    0 0 58px rgba(126, 51, 238, 0.42),
    0 0 52px rgba(227, 71, 159, 0.36),
    0 22px 56px rgba(18, 15, 50, 0.18);
}

.news-card:focus-visible {
  outline: 2px solid rgba(77, 245, 255, 0.55);
  outline-offset: 4px;
}

.news-prev,
.news-next {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(18, 15, 50, 0.14);
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(18, 15, 50, 0.14);
  transition: transform var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);
  z-index: 6;
}

.news-prev:hover,
.news-next:hover {
  transform: translateY(var(--btn-lift));
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(18, 15, 50, 0.18);
}

.news-prev {
  left: 1rem;
}

.news-next {
  right: 1rem;
}

.news-prev::before,
.news-next::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: 2px solid rgba(18, 15, 50, 0.75);
  border-right: 2px solid rgba(18, 15, 50, 0.75);
}

.news-prev::before {
  transform: rotate(225deg);
}

.news-next::before {
  transform: rotate(45deg);
}

@media (max-width: 640px) {
  .news-swiper {
    padding-left: 1rem;
    padding-right: 1rem;
    max-width: none;
  }

  .news-swiper .swiper-slide {
    display: flex;
    height: auto;
    align-items: stretch;
  }

  .news-card {
    width: calc(100% + 6px);
    max-width: none;
    margin-left: -3px;
    margin-right: -3px;
    height: 520px;
    min-height: 520px;
    max-height: 520px;
  }

  .news-card-shell {
    flex: 1 1 auto;
    min-height: 0;
  }

  .news-card-shell__viewport {
    flex: 1 1 auto;
    min-height: 0;
  }

  .news-card-shell__viewport img {
    object-fit: cover;
    object-position: center center;
  }

  /* Móvil: ocultar flechas de noticias */
  .news-prev,
  .news-next {
    display: none;
  }
}

/* Slider Speakers (full-bleed, 5 por vista) */
.speakers-swiper {
  position: relative;
  z-index: 1;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0.5rem 1rem 2.5rem;
  overflow: hidden;
  min-height: 320px;
}

.speakers-swiper .swiper-wrapper {
  display: flex;
  align-items: stretch;
}

.speakers-swiper .swiper-slide {
  flex-shrink: 0;
  box-sizing: border-box;
  height: auto;
  display: flex;
}

.speakers-swiper .card-person-large {
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  flex: 0 0 auto;
  align-self: center;
  margin: auto;
}

/* Speakers: estabiliza altura del contenido para slides uniformes */
#speakers.section-speakers .card-body {
  min-height: 112px;
}

#speakers.section-speakers .card-body .role,
#speakers.section-speakers .card-body .topic {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#speakers.section-speakers .card-body .role {
  -webkit-line-clamp: 2;
}

#speakers.section-speakers .card-body .topic {
  -webkit-line-clamp: 2;
}

.speakers-swiper .swiper-button-prev,
.speakers-swiper .swiper-button-next,
.speakers-swiper .swiper-pagination {
  display: block;
}

.speakers-swiper .swiper-pagination {
  display: none;
}

.speakers-swiper .swiper-button-prev::after,
.speakers-swiper .swiper-button-next::after {
  display: none;
}

.speakers-swiper .swiper-button-prev,
.speakers-swiper .swiper-button-next {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(18, 15, 50, 0.22);
  background: rgba(255, 255, 255, 0.62);
  backdrop-filter: blur(10px);
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(18, 15, 50, 0.18);
  transition: transform var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: center;
}

.speakers-prev {
  left: 1rem;
}

.speakers-next {
  right: 1rem;
}

.speakers-prev::before,
.speakers-next::before {
  content: "";
  width: 18px;
  height: 18px;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
}

.speakers-prev,
.speakers-next {
  background-image: none;
}

.speakers-prev {
  /* icon */
}

.speakers-next {
  /* icon */
}

.speakers-prev::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M15 18l-6-6 6-6' stroke='%23120F32' stroke-opacity='0.82' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.speakers-next::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M9 6l6 6-6 6' stroke='%23120F32' stroke-opacity='0.82' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.speakers-prev:hover,
.speakers-next:hover {
  transform: translateY(var(--btn-lift));
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 0 14px 30px rgba(18, 15, 50, 0.22);
}

@media (max-width: 640px) {
  /* Móvil: ocultar flechas en sliders Comité y Speakers */
  .comite-prev,
  .comite-next,
  .speakers-prev,
  .speakers-next {
    display: none !important;
  }
}

.sponsors-swiper .swiper-wrapper,
.institutions-swiper .swiper-wrapper {
  display: flex;
  align-items: center;
}

.sponsors-swiper .swiper-slide,
.institutions-swiper .swiper-slide {
  flex-shrink: 0;
  box-sizing: border-box;
}

.institutions-swiper .sponsor-logo img {
  max-width: 160px;
  max-height: 72px;
  object-fit: contain;
}

.sponsor-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.75rem;
}

.sponsor-logo img {
  max-width: 140px;
  max-height: 64px;
  filter: grayscale(0.1);
  opacity: 0.9;
  transition: filter var(--transition-fast), opacity var(--transition-fast), transform var(--transition-fast);
}

.sponsor-logo img:hover {
  filter: grayscale(0);
  opacity: 1;
  transform: translateY(-1px);
}

.reveal-up {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 280ms ease-out,
    transform 280ms ease-out;
}

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

.reveal-up[data-delay="80"] {
  transition-delay: 80ms;
}

.reveal-up[data-delay="100"] {
  transition-delay: 100ms;
}

.reveal-up[data-delay="120"] {
  transition-delay: 120ms;
}

.reveal-up[data-delay="160"] {
  transition-delay: 160ms;
}

.reveal-up[data-delay="200"] {
  transition-delay: 200ms;
}

.reveal-up[data-delay="240"] {
  transition-delay: 240ms;
}

.reveal-up[data-delay="300"] {
  transition-delay: 300ms;
}

.reveal-up[data-delay="400"] {
  transition-delay: 400ms;
}

@keyframes theme-icon-float {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-7px);
  }
}

@keyframes theme-icon-glow {
  0%,
  100% {
    filter:
      drop-shadow(0 0 1px rgba(255, 255, 255, 0.5))
      drop-shadow(0 0 10px rgba(6, 144, 254, 0.38));
  }

  50% {
    filter:
      drop-shadow(0 0 2px rgba(255, 255, 255, 0.65))
      drop-shadow(0 0 16px rgba(6, 144, 254, 0.62))
      drop-shadow(0 0 28px rgba(126, 51, 238, 0.35));
  }
}

@keyframes theme-icon-orbit {
  0%,
  100% {
    opacity: 0.35;
    transform: scale(0.92);
  }

  50% {
    opacity: 0.7;
    transform: scale(1.08);
  }
}

/* Bloques temáticos (sección de temas) */
.themes-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.6rem;
  align-items: start;
}

.theme-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  height: var(--theme-card-h);
  border-radius: 1.35rem;
  padding: 3.5rem 1.4rem 1.5rem;
  border: 2px solid transparent;
  background:
    rgba(8, 6, 28, 0.45) padding-box,
    linear-gradient(118deg, #0690fe 0%, #8637fa 48%, #f17bc6 88%, #0690fe 100%) border-box;
  background-clip: padding-box, border-box;
  background-origin: border-box;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.08) inset,
    0 0 14px rgba(6, 144, 254, 0.75),
    0 0 32px rgba(6, 144, 254, 0.52),
    0 0 58px rgba(6, 144, 254, 0.32),
    0 0 76px rgba(134, 55, 250, 0.4),
    0 0 110px rgba(134, 55, 250, 0.22),
    0 0 52px rgba(241, 123, 198, 0.38),
    0 0 88px rgba(241, 123, 198, 0.18),
    0 18px 48px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition:
    transform 420ms var(--theme-card-ease),
    box-shadow var(--transition-med);
  text-align: center;
  overflow: hidden;
  isolation: isolate;
}

.theme-card:nth-child(4n + 2) {
  background:
    rgba(8, 6, 28, 0.45) padding-box,
    linear-gradient(210deg, #8637fa 0%, #f17bc6 42%, #0690fe 100%) border-box;
  background-clip: padding-box, border-box;
  background-origin: border-box;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.08) inset,
    0 0 16px rgba(134, 55, 250, 0.68),
    0 0 36px rgba(241, 123, 198, 0.48),
    0 0 60px rgba(241, 123, 198, 0.28),
    0 0 78px rgba(6, 144, 254, 0.34),
    0 0 108px rgba(134, 55, 250, 0.22),
    0 0 52px rgba(241, 123, 198, 0.26),
    0 18px 48px rgba(0, 0, 0, 0.28);
}

.theme-card:nth-child(4n + 3) {
  background:
    rgba(8, 6, 28, 0.45) padding-box,
    linear-gradient(52deg, #f17bc6 0%, #0690fe 45%, #8637fa 100%) border-box;
  background-clip: padding-box, border-box;
  background-origin: border-box;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.08) inset,
    0 0 16px rgba(241, 123, 198, 0.62),
    0 0 36px rgba(6, 144, 254, 0.52),
    0 0 60px rgba(6, 144, 254, 0.32),
    0 0 78px rgba(134, 55, 250, 0.36),
    0 0 110px rgba(241, 123, 198, 0.2),
    0 0 48px rgba(134, 55, 250, 0.26),
    0 18px 48px rgba(0, 0, 0, 0.28);
}

.theme-card:nth-child(4n + 4) {
  background:
    rgba(8, 6, 28, 0.45) padding-box,
    linear-gradient(285deg, #0690fe 0%, #f17bc6 38%, #8637fa 92%) border-box;
  background-clip: padding-box, border-box;
  background-origin: border-box;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.08) inset,
    0 0 16px rgba(6, 144, 254, 0.72),
    0 0 36px rgba(241, 123, 198, 0.42),
    0 0 60px rgba(134, 55, 250, 0.36),
    0 0 84px rgba(6, 144, 254, 0.28),
    0 0 118px rgba(134, 55, 250, 0.2),
    0 0 52px rgba(241, 123, 198, 0.24),
    0 18px 48px rgba(0, 0, 0, 0.28);
}

.theme-card::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0.55;
  z-index: 0;
  background:
    radial-gradient(circle at 22% 18%, rgba(34, 211, 238, 0.14) 0%, transparent 45%),
    radial-gradient(circle at 78% 22%, rgba(227, 71, 159, 0.14) 0%, transparent 48%),
    radial-gradient(circle at 50% 100%, rgba(126, 51, 238, 0.16) 0%, transparent 52%);
}

.theme-card:hover,
.theme-card:focus-within {
  transform: translateY(-4px);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.12) inset,
    0 0 18px rgba(6, 144, 254, 0.92),
    0 0 40px rgba(6, 144, 254, 0.58),
    0 0 72px rgba(6, 144, 254, 0.38),
    0 0 88px rgba(134, 55, 250, 0.48),
    0 0 120px rgba(134, 55, 250, 0.28),
    0 0 64px rgba(241, 123, 198, 0.42),
    0 0 100px rgba(241, 123, 198, 0.22),
    0 26px 56px rgba(0, 0, 0, 0.34);
}

.theme-card:nth-child(4n + 2):hover,
.theme-card:nth-child(4n + 2):focus-within {
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.12) inset,
    0 0 20px rgba(134, 55, 250, 0.85),
    0 0 44px rgba(241, 123, 198, 0.58),
    0 0 76px rgba(241, 123, 198, 0.36),
    0 0 96px rgba(6, 144, 254, 0.42),
    0 0 128px rgba(134, 55, 250, 0.28),
    0 0 68px rgba(241, 123, 198, 0.34),
    0 26px 56px rgba(0, 0, 0, 0.34);
}

.theme-card:nth-child(4n + 3):hover,
.theme-card:nth-child(4n + 3):focus-within {
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.12) inset,
    0 0 20px rgba(241, 123, 198, 0.78),
    0 0 44px rgba(6, 144, 254, 0.58),
    0 0 76px rgba(6, 144, 254, 0.38),
    0 0 96px rgba(134, 55, 250, 0.42),
    0 0 128px rgba(241, 123, 198, 0.26),
    0 0 64px rgba(134, 55, 250, 0.34),
    0 26px 56px rgba(0, 0, 0, 0.34);
}

.theme-card:nth-child(4n + 4):hover,
.theme-card:nth-child(4n + 4):focus-within {
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.12) inset,
    0 0 20px rgba(6, 144, 254, 0.88),
    0 0 44px rgba(241, 123, 198, 0.48),
    0 0 76px rgba(134, 55, 250, 0.44),
    0 0 100px rgba(6, 144, 254, 0.34),
    0 0 132px rgba(134, 55, 250, 0.22),
    0 0 68px rgba(241, 123, 198, 0.32),
    0 26px 56px rgba(0, 0, 0, 0.34);
}

.theme-number {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: #ffffff;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  box-shadow: 0 14px 30px rgba(227, 71, 159, 0.25);
  transition: transform 280ms ease-out;
}

.theme-card-main {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transform: translateY(var(--theme-title-rest-y));
  transition: transform var(--theme-card-duration) var(--theme-card-ease);
}

.theme-card-iconWrap {
  position: relative;
  display: grid;
  place-items: center;
  margin: 0 0 1rem;
  padding: 0;
  border: none;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transform-origin: top center;
  animation: theme-icon-float 4.2s ease-in-out infinite;
  transition:
    transform var(--theme-card-duration) var(--theme-card-ease),
    margin var(--theme-card-duration) var(--theme-card-ease);
}

.theme-card-iconWrap::before {
  content: "";
  position: absolute;
  inset: -18%;
  border-radius: 50%;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(circle, rgba(6, 144, 254, 0.28) 0%, transparent 68%);
  animation: theme-icon-orbit 3.4s ease-in-out infinite;
}

.theme-card:nth-child(4n + 2) .theme-card-iconWrap::before {
  background: radial-gradient(circle, rgba(134, 55, 250, 0.32) 0%, transparent 68%);
}

.theme-card:nth-child(4n + 3) .theme-card-iconWrap::before {
  background: radial-gradient(circle, rgba(241, 123, 198, 0.3) 0%, transparent 68%);
}

.theme-card:nth-child(4n + 4) .theme-card-iconWrap::before {
  background: radial-gradient(circle, rgba(34, 211, 238, 0.26) 0%, transparent 68%);
}

.theme-card:nth-child(1) .theme-card-iconWrap {
  animation-delay: 0s;
}

.theme-card:nth-child(2) .theme-card-iconWrap {
  animation-delay: 0.35s;
}

.theme-card:nth-child(3) .theme-card-iconWrap {
  animation-delay: 0.7s;
}

.theme-card:nth-child(4) .theme-card-iconWrap {
  animation-delay: 1.05s;
}

.theme-card-icon {
  width: var(--theme-icon-size);
  height: var(--theme-icon-size);
  overflow: visible;
}

/* Iconos vectoriales: halo neón + pulso suave */
.theme-card-icon--tech {
  color: transparent;
  animation: theme-icon-glow 3.2s ease-in-out infinite;
}

.theme-card:nth-child(4n + 2) .theme-card-icon--tech {
  animation-duration: 3.6s;
}

.theme-card:nth-child(4n + 3) .theme-card-icon--tech {
  animation-duration: 2.9s;
}

.theme-card:nth-child(4n + 4) .theme-card-icon--tech {
  animation-duration: 3.4s;
}

.theme-card h3 {
  margin: 0;
  padding-top: 0.85rem;
  position: relative;
  z-index: 2;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 700;
  font-size: clamp(1.35rem, 2.6vw, 1.68rem);
  letter-spacing: 0.04em;
  color: #fff;
  line-height: 1.22;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.65),
    0 0 20px rgba(5, 3, 22, 0.55);
  opacity: 1;
  transition: padding-top var(--theme-card-duration) var(--theme-card-ease);
}

.theme-card-detail {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  margin: 1.3rem 0 0;
  padding: 0 0 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0;
  text-align: left;
  overflow: hidden;
  transform: translateY(calc(var(--theme-title-rest-y) + var(--theme-detail-rest-extra)));
  transition:
    transform var(--theme-card-duration) var(--theme-card-ease),
    margin-top var(--theme-card-duration) var(--theme-card-ease);
}

.theme-tagline {
  margin: 0 0 0.35rem;
  flex: 0 0 auto;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.42;
  letter-spacing: 0.01em;
  color: rgba(255, 255, 255, 0.98);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
}

.theme-tagline::after {
  content: "";
  display: block;
  width: 2.25rem;
  height: 2px;
  margin-top: 0.45rem;
  transition: margin-top var(--theme-card-duration) var(--theme-card-ease);
  border-radius: 999px;
  background: linear-gradient(90deg, var(--primary), var(--accent));
  opacity: 0.85;
}

.theme-body {
  flex: 0 0 auto;
  box-sizing: border-box;
  margin: 0.45rem 0 0;
  min-height: var(--theme-body-slot-h);
  max-height: var(--theme-body-slot-h);
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.54;
  color: rgba(232, 228, 255, 0.9);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
  transition:
    opacity 480ms var(--theme-card-ease),
    visibility 0s linear var(--theme-card-duration);
}

.theme-card:first-child .theme-body,
.theme-card:nth-child(2) .theme-body {
  min-height: var(--theme-body-slot-h-long);
  max-height: var(--theme-body-slot-h-long);
}

.theme-card:hover .theme-card-main,
.theme-card:focus-within .theme-card-main {
  transform: translateY(var(--theme-title-hover-y));
}

.theme-card:hover .theme-card-detail,
.theme-card:focus-within .theme-card-detail {
  margin-top: 0.65rem;
  transform: translateY(var(--theme-title-hover-y));
}

.theme-card:hover .theme-card-main h3,
.theme-card:focus-within .theme-card-main h3 {
  padding-top: 0.2rem;
}

.theme-card:hover .theme-card-iconWrap,
.theme-card:focus-within .theme-card-iconWrap {
  animation: none;
  transform: translateY(var(--theme-icon-hover-y)) scale(var(--theme-icon-hover-scale));
  margin-bottom: 0.15rem;
}

.theme-card:hover .theme-card-iconWrap::before,
.theme-card:focus-within .theme-card-iconWrap::before {
  animation: none;
  opacity: 0.45;
  transform: scale(0.85);
}

.theme-card:hover .theme-card-icon--tech,
.theme-card:focus-within .theme-card-icon--tech {
  animation: none;
  filter:
    drop-shadow(0 0 2px rgba(255, 255, 255, 0.55))
    drop-shadow(0 0 12px rgba(6, 144, 254, 0.5));
}

.theme-card:hover .theme-number,
.theme-card:focus-within .theme-number {
  transform: none;
}

.theme-card:hover .theme-card-detail,
.theme-card:focus-within .theme-card-detail {
  overflow: visible;
}

.theme-card:hover .theme-tagline::after,
.theme-card:focus-within .theme-tagline::after {
  margin-top: 0.3rem;
}

.theme-card:hover .theme-body,
.theme-card:focus-within .theme-body {
  margin-top: 0.3rem;
  max-height: none;
  overflow: visible;
  opacity: 1;
  visibility: visible;
  transition:
    opacity 480ms var(--theme-card-ease) 80ms,
    visibility 0s,
    margin-top var(--theme-card-duration) var(--theme-card-ease);
}

@media (prefers-reduced-transparency: reduce) {
  .theme-card {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: 1px solid rgba(100, 220, 255, 0.45);
    background: rgba(12, 10, 36, 0.94);
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, 0.06) inset,
      0 12px 32px rgba(0, 0, 0, 0.3);
  }

  .theme-card:nth-child(4n + 2),
  .theme-card:nth-child(4n + 3),
  .theme-card:nth-child(4n + 4) {
    background: rgba(12, 10, 36, 0.94);
  }
}

@media (max-width: 960px) {
  .themes-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .themes-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Móvil / touch: descripción siempre visible; cards sin cambio de alto al hover */
@media (max-width: 767px), (hover: none) {
  #temas.section-light::after,
  .section-activities::after,
  #indicadores.section-kpi.section-dark::after {
    background-attachment: scroll;
  }

  :root {
    --theme-title-rest-y: 0;
    --theme-icon-size: 4.65rem;
  }

  .theme-card,
  .theme-card:hover,
  .theme-card:focus-within,
  .theme-card:first-child:hover,
  .theme-card:first-child:focus-within {
    height: auto;
    transform: none;
    transition:
      box-shadow var(--transition-med);
  }

  .theme-card {
    padding: 3.25rem 1.1rem 1.35rem;
  }

  .theme-card-main,
  .theme-card-detail {
    transform: translateY(0) !important;
  }

  .theme-card-detail {
    margin-top: 0.85rem;
    overflow: visible;
    transition: none;
  }

  .theme-body,
  .theme-card:first-child .theme-body {
    min-height: 0;
    max-height: none;
    margin-top: 0.5rem;
    opacity: 1;
    visibility: visible;
    overflow: visible;
    transition: none;
  }

  .theme-card h3 {
    font-size: clamp(1.22rem, 4.8vw, 1.45rem);
  }

  .theme-card:hover .theme-card-iconWrap,
  .theme-card:focus-within .theme-card-iconWrap {
    transform: none;
    margin-bottom: 0.55rem;
  }

  .theme-card:hover .theme-card-iconWrap::before,
  .theme-card:focus-within .theme-card-iconWrap::before {
    opacity: 0.55;
    transform: scale(1);
  }

  .theme-card-detail {
    text-align: center;
    align-items: center;
  }

  .theme-tagline {
    font-size: 0.84rem;
    text-align: center;
  }

  .theme-tagline::after {
    margin-left: auto;
    margin-right: auto;
  }

  .theme-body {
    font-size: 0.76rem;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-card {
    transition-duration: 0.01ms;
  }

  .theme-card-main,
  .theme-card-iconWrap,
  .theme-card-detail {
    transform: none !important;
    transition-duration: 0.01ms;
  }

  .theme-card-iconWrap,
  .theme-card-iconWrap::before,
  .theme-card-icon--tech {
    animation: none !important;
  }

  .theme-card:hover .theme-card-iconWrap,
  .theme-card:focus-within .theme-card-iconWrap {
    transform: translateY(var(--theme-icon-hover-y)) scale(var(--theme-icon-hover-scale));
    margin-bottom: 0.15rem;
  }

  .theme-card:hover .theme-body,
  .theme-card:focus-within .theme-body {
    min-height: 0;
    max-height: none;
    opacity: 1;
    visibility: visible;
    margin-top: 0.5rem;
  }

  .theme-card-iconWrap {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .theme-card-iconWrap {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: none;
  }

  .theme-card-icon--tech {
    filter: drop-shadow(0 0 6px rgba(6, 144, 254, 0.35));
  }
}