:root{  
  --bg:#0B1F4D;
  --bg2:#0f2a68;
  --accent:#FFD400;
  --text:#EAF2FF;
  --muted:#b7c6e6;
  --ring:rgba(255,255,255,.12);

  --blue1:#0b1f4d;
  --blue2:#14306a;
  --gold1:#FFD400;
  --gold2:#FFE27A;
  --white:#ffffff;

  --grad1: linear-gradient(90deg, #FFE27A, #FFD400, #FFF3B0);
  --grad2: linear-gradient(120deg, #b7c6e6, #EAF2FF);
  --shadow-xl: 0 24px 60px rgba(0,0,0,.35);
}

/* Base */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Arial;
  color:var(--text);
  background:#0B1F4D;          /* 🔵 FONDO AZUL SÓLIDO */
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

/* Accesibilidad */
.skip{
  position:absolute;
  left:-9999px;
  top:auto;
}
.skip:focus{
  left:16px;
  top:12px;
  z-index:9999;
  background:#000;
  color:#fff;
  padding:8px 12px;
  border-radius:8px;
}

/* ===== Marquee ===== */
.marquee{
  overflow:hidden;
  height:34px;
  background:rgba(255,255,255,.06);
  border-top:1px solid var(--ring);
  border-bottom:1px solid var(--ring);
  backdrop-filter: blur(6px) saturate(140%);
}
.marquee--between{
  position:relative;
  top:auto;
  z-index:10;
  margin:0 0 10px;
}
.marquee__inner{
  display:flex;
  gap:40px;
  white-space:nowrap;
  will-change:transform;
  animation:marq 28s linear infinite;
}
.marquee__inner span{
  display:inline-block;
  padding:6px 0;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  background:linear-gradient(90deg, #ffe27a, #ffd400);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
@keyframes marq{
  to{ transform: translateX(-50%) }
}

/* ===== Barra de progreso ===== */
#progress{
  position:fixed;
  top:0;
  left:0;
  height:3px;
  width:0%;
  background:linear-gradient(90deg, var(--gold1), var(--gold2));
  z-index:1000;
  box-shadow:0 2px 10px rgba(255,212,0,.6);
}

/* ===== Topbar ===== */
.topbar{
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 16px;
  background:rgba(10,22,70,.92);
  border-bottom:1px solid var(--ring);
  backdrop-filter:saturate(140%) blur(8px);
}
.topbar__brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  letter-spacing:.2px;
}
.topbar__brand .dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 12px var(--accent);
}
.topbar__actions{
  display:flex;
  gap:8px;
}

/* ===== Botones ===== */
.btn{
  appearance:none;
  border:none;
  cursor:pointer;
  padding:10px 14px;
  border-radius:12px;
  font-weight:900;
  letter-spacing:.2px;
  position:relative;
  overflow:hidden;
  transform:translateZ(0);
}
.btn:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
  transform:translateX(-100%);
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.btn:hover:after{transform:translateX(100%)}
.btn--accent{
  background:var(--accent);
  color:#111;
}
.btn--ghost{
  background:transparent;
  color:var(--text);
  border:1px solid var(--ring);
}
.btn--ghost:hover{border-color:var(--accent)}
.btn--xl{
  padding:12px 18px;
  border-radius:14px;
}
.mega-cta{
  padding:14px 24px;
  border-radius:999px;
  font-size:1.05rem;
  box-shadow: 0 18px 40px rgba(255,212,0,.35), 0 2px 0 rgba(0,0,0,.2);
  background:linear-gradient(90deg, #FFE27A, #FFD400, #FFF3B0);
  color:#101;
  border:1px solid rgba(0,0,0,.08);
}
.btn--shine{
  position:relative;
  isolation:isolate;
}
.btn--shine::before{
  content:"";
  position:absolute;
  top:0;
  left:-150%;
  width:120%;
  height:100%;
  background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.35), transparent 70%);
  transform:skewX(-22deg);
  transition:transform .6s;
  pointer-events:none;
}
.btn--shine:hover::before{
  transform:translateX(220%) skewX(-22deg);
}

/* ===== Compartir (share menu) ===== */
.share-wrapper{
  position:relative;
}
.share-menu{
  position:absolute;
  top:110%;
  right:0;
  background:rgba(11,31,77,.98);
  color:var(--text);
  border-radius:16px;
  padding:14px 16px 12px;
  border:1px solid var(--ring);
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  min-width:220px;
}
.share-menu__title{
  margin:0 0 8px;
  font-weight:800;
  font-size:.9rem;
}
.share-menu__close{
  position:absolute;
  top:6px;
  right:8px;
  width:24px;
  height:24px;
  border-radius:999px;
  border:1px solid var(--ring);
  background:rgba(255,255,255,.06);
  color:var(--text);
  cursor:pointer;
  font-weight:900;
}
.share-menu__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}
.share-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 6px;
  border-radius:999px;
  text-decoration:none;
  font-size:.8rem;
  font-weight:800;
  border:1px solid var(--ring);
  background:rgba(255,255,255,.06);
  color:var(--text);
}
.share-icon span{pointer-events:none}
.share-icon--wa{background:rgba(37,211,102,.12)}
.share-icon--fb{background:rgba(24,119,242,.12)}
.share-icon--ig{background:rgba(255,255,255,.08)}
.share-icon--tt{background:rgba(0,0,0,.35)}

/* ===== Secciones ===== */
.section{
  max-width:1100px;
  margin:0 auto;
  padding:28px 16px;
  position:relative;
  z-index:1;
}
.section--xl{
  padding-top:60px;
  padding-bottom:60px;
}

/* ===== HERO ===== */
.hero{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.hero__halo{
  position:absolute;
  inset:-40px 0 auto;
  height:260px;
  background:
    radial-gradient(600px 220px at 50% 40%, rgba(255,212,0,.18), transparent 60%),
    radial-gradient(700px 260px at 20% 20%, rgba(255,255,255,.06), transparent 60%),
    radial-gradient(600px 260px at 80% 10%, rgba(20,48,106,.25), transparent 60%);
  filter:blur(18px);
  z-index:-1;
  pointer-events:none;
}

/* Placa 3D centrada */
.hero__plaque{
  position:relative;
  padding:28px 18px 24px;
  width:min(980px, 92vw);
  border-radius:28px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.2);
  box-shadow: 0 24px 80px rgba(0,0,0,.45), 0 0 0 2px rgba(255,212,0,.06) inset, 0 2px 0 rgba(0,0,0,.35);
  backdrop-filter: blur(14px) saturate(140%);
  transform-style:preserve-3d;
}
.hero__plaque::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:28px;
  pointer-events:none;
  background: conic-gradient(from 160deg, rgba(255,212,0,.18), rgba(255,255,255,.06), rgba(255,212,0,.18));
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  -webkit-mask-composite: xor;
  padding:1px;
  opacity:.45;
  animation:borderSpin 18s linear infinite;
}
@keyframes borderSpin{
  to{ transform: rotate(360deg) }
}
.hero__plaque--center{
  display:grid;
  place-items:center;
  gap:8px;
}

/* Logo (SIN ANIMACIÓN, solo sombra) */
.hero__logo{
  display:grid;
  place-items:center;
  margin:6px auto 8px;
  position:relative;
}
.hero__logo img{
  width: clamp(140px, 24vw, 240px);
  height:auto;
  filter: drop-shadow(0 14px 36px rgba(0,0,0,.35));  /* sombra */
  /* sin animation */
}
.hero__logo::before{
  content:"";
  width: 110%;
  aspect-ratio:1/1;
  border-radius:50%;
  background: radial-gradient(circle, rgba(255,212,0,.22), transparent 60%);
  filter: blur(18px);
  position:absolute;
  z-index:-1;
  transform:translateY(6px);
}

/* Título hero */
.hero__title{
  margin:6px 0 8px;
}
.text-grand-xl{
  font-size:clamp(2.2rem, 1.1rem + 4vw, 4.1rem);
  font-weight:1000;
  letter-spacing:.01em;
  line-height:1.05;
  background: linear-gradient(90deg, #ffffff, #FFE27A 35%, #EAF2FF 70%, #ffffff);
  background-size: 300% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow: 0 8px 34px rgba(0,0,0,.35);
  -webkit-text-stroke: 1px rgba(255,255,255,.08);
}
.title-sub{
  font-weight:900;
  letter-spacing:.02em;
  font-size: .85em;
  background:linear-gradient(90deg,#ffe27a,#ffd400);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hide-sm{ display:none }
@media (min-width:700px){
  .hide-sm{ display:inline }
}

/* Badge Interés Ministerial */
.ministerial-inline{
  display:inline-flex;
  gap:8px;
  align-items:center;
  margin-top:6px;
  padding:6px 12px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,212,0,.2), rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.18);
  font-weight:900;
}
.ministerial-inline .medal{
  filter:drop-shadow(0 0 10px rgba(255,212,0,.5));
}

/* Meta hero (solo organizadores) */
.hero__meta{
  margin:6px 0 2px;
  font-size:.95rem;
  color:var(--muted);
}
.hero__meta strong{
  color:#ffffff;
}

/* H3 amarillos genéricos */
.h3-yellow{
  color:#FFE600;
  font-weight:900;
}

/* H3 debajo del hero */
.hero__tagline{
  margin:2px 0 8px;
  font-size:1rem;
}

/* Badges hero (chips fecha/lugar/jornada) */
.hero__badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin-top:10px;
}
.hero__badges .chip{
  padding:6px 12px;
  border-radius:999px;
  font-weight:800;
  font-size:0.9rem;
  border:1px solid var(--ring);
  background:rgba(255,255,255,.08);
}
@media (max-width:480px){
  .hero__badges{
    flex-direction:column;
    align-items:stretch;
    gap:6px;
  }
  .hero__badges .chip{
    width:100%;
    text-align:center;
  }
}

/* Logos organizadores */
.hero__orgs{
  display:flex;
  gap:28px;
  align-items:center;
  justify-content:center;
  margin:10px 0 6px;
}
.hero__orgs img{
  height:110px;
  width:auto;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  padding:10px;
  border:1px solid var(--ring);
  box-shadow:0 18px 32px rgba(0,0,0,.28), 0 0 0 4px rgba(255,212,0,.06) inset;
  transition:transform .35s ease, box-shadow .35s ease;
  animation:glow 6s ease-in-out infinite alternate;
}
.hero__orgs img:hover{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 28px 48px rgba(0,0,0,.35), 0 0 0 5px rgba(255,212,0,.16) inset;
}

/* Stats hero */
.hero__stats{
  display:flex;
  gap:12px;
  justify-content:center;
  list-style:none;
  padding:0;
  margin:12px 0 4px;
  flex-wrap:wrap;
}
.hero__stats li{
  display:grid;
  place-items:center;
  min-width:140px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  border:1px solid var(--ring);
  box-shadow:0 10px 30px rgba(0,0,0,.18) inset;
}
.hero__stats strong{
  font-size:1.3rem;
}
.hero__stats span{
  color:var(--muted);
}
.countdown{
  display:grid;
  grid-auto-flow:column;
  gap:6px;
}

/* Scroll cue */
.scroll-cue{
  display:inline-block;
  margin-top:10px;
  padding:8px 14px;
  border-radius:999px;
  text-decoration:none;
  color:var(--text);
  border:1px dashed var(--ring);
  opacity:.9;
  transition:transform .25s ease;
}
.scroll-cue:hover{
  transform:translateY(-2px);
}

/* Separador grande */
.section-sep svg{
  width:100%;
  height:160px;
  display:block;
}
.section-sep path{
  fill:rgba(255,255,255,.06);
}

/* ===== Panel (ULTRA-GLASS) ===== */
.panel{
  background: rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.18);
  border-radius:22px;
  padding:28px;
  box-shadow: 0 10px 30px rgba(0,0,0,.18) inset, 0 10px 30px rgba(0,0,0,.18);
  position:relative;
  backdrop-filter: blur(10px) saturate(130%);
}
.panel::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:22px;
  pointer-events:none;
  background:
    radial-gradient(60% 60% at 20% 0%, rgba(255,212,0,.10), transparent 60%),
    radial-gradient(50% 50% at 100% 0%, rgba(255,255,255,.06), transparent 60%);
  mix-blend-mode: screen;
}
.panel::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:22px;
  pointer-events:none;
  box-shadow:0 0 0 2px rgba(255,212,0,.08) inset;
}
.panel__title{
  margin:0 0 18px;
  font-size:1.45rem;
}

/* Título glow */
.title-glow{
  --s: 1px;
  text-shadow: 0 0 0 var(--s) rgba(255,212,0,.35), 0 6px 22px rgba(0,0,0,.35);
}

/* Texto general apagado */
.muted{
  color:var(--muted);
}

/* ===== MANIFIESTO ===== */
.manifiesto{
  max-width:1100px;
  margin:0 auto 10px;
  padding:24px 16px;
}
.manifiesto--signature{
  position:relative;
}
.mf-card{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  padding:28px 20px;
  text-align:center;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 20px 60px rgba(0,0,0,.28), 0 0 0 2px rgba(255,212,0,.06) inset;
  backdrop-filter: blur(12px) saturate(135%);
}
.mf-top{
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.96;
  background:linear-gradient(90deg,#b7c6e6,#EAF2FF);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.mf-line{
  margin:.25em auto;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:center;
}
.mf-pill{
  display:inline-block;
  padding:.28em .6em;
  border-radius:999px;
  font-weight:1000;
  background:linear-gradient(90deg,#fff,#ffe27a,#ffd400,#fff);
  background-size:220% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:mfSh 9s linear infinite;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 10px 28px rgba(0,0,0,.18) inset, 0 6px 16px rgba(0,0,0,.18);
}
.mf-dot{
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--accent);
  opacity:.8;
  box-shadow:0 0 14px rgba(255,212,0,.6);
}
@keyframes mfSh{
  to{ background-position:220% 50% }
}
.mf-bottom{
  margin:.2em 0 0;
  font-size:clamp(1.25rem, .8rem + 2.3vw, 2.1rem);
  font-weight:900;
  color:var(--muted);
}
.mf-ornaments{
  position:absolute;
  inset:auto 0 -10px 0;
  display:flex;
  justify-content:center;
  gap:12px;
  pointer-events:none;
}
.mf-ornaments i{
  display:block;
  height:4px;
  width:160px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,212,0,.0), rgba(255,212,0,.55), rgba(255,212,0,.0));
  box-shadow:0 6px 24px rgba(255,212,0,.35);
}

/* ===== Divider elegante ===== */
.divider{
  max-width:1100px;
  margin:40px auto;
  height:2px;
  border-radius:2px;
  background: linear-gradient(90deg, rgba(255,212,0,.0), rgba(255,212,0,.45), rgba(255,212,0,.0));
  box-shadow: 0 6px 24px rgba(255,212,0,.25);
}

/* ===== Sponsors (NUEVO CARRUSEL DENTRO DEL PANEL) ===== */

#sponsors .panel{
  overflow:hidden;
}

.sponsor-viewport{
  position:relative;
  overflow:hidden;
  margin-top:16px;
  padding:12px 0;
  mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  min-height:130px;
}

/* Dos tiras que se mueven en loop */
.sponsor-strip{
  display:flex;
  gap:22px;
  align-items:center;
  will-change:transform;
  animation:sponsorsScroll 40s linear infinite;
}
.sponsor-strip--clone{
  position:absolute;
  left:100%;
  top:12px;
  animation:sponsorsScroll 40s linear infinite;
}

#sponsors img{
  height:100px;
  width:auto;
  flex-shrink:0;
  border-radius:14px;
  background:rgba(255,255,255,.05);
  padding:12px 16px;
  border:1px solid var(--ring);
  box-shadow:0 10px 22px rgba(0,0,0,.28), 0 0 0 3px rgba(255,212,0,.06) inset;
  animation: sponsorGlow 4s ease-in-out infinite alternate;
}

@keyframes sponsorsScroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-100%); }
}

@keyframes sponsorGlow{
  from{ filter: drop-shadow(0 0 0 rgba(255,212,0,.0)); }
  to{ filter: drop-shadow(0 0 10px rgba(255,212,0,.35)); }
}

/* ===== PROGRAMA (Bloques / Talks) ===== */

.block{
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  background:rgba(255,255,255,.03);
  margin-bottom:18px;
  overflow:hidden;
  animation:fadeUp .5s ease both;
  position: relative;
  backdrop-filter: blur(8px) saturate(130%);
}
.block[open]{background:rgba(255,255,255,.05)}
.block__header{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px;
  cursor:pointer;
  position:relative;
  font-weight:800;
}
.block__time{
  font-weight:900;
  color:#101;
  background:var(--accent);
  border-radius:10px;
  padding:6px 12px;
  min-width:160px;
  text-align:center;
}
.block__header::-webkit-details-marker{display:none}
.block__header::after{
  content:"▾";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%) rotate(-90deg);
  transition:transform .25s ease;
  opacity:.8;
}
.block.is-open .block__header::after,
.block[open] .block__header::after{
  transform:translateY(-50%) rotate(0deg);
}
.block__content{
  padding:16px 16px 18px;
  border-top:1px solid var(--ring);
  animation:fadeIn .25s ease;
}
.timeline{
  display:grid;
  gap:16px;
  position:relative;
}
.timeline::before{
  content:"";
  position:absolute;
  left:76px;
  top:0;
  bottom:0;
  width:2px;
  border-radius:2px;
  background:linear-gradient(var(--accent), rgba(255,212,0,0));
  opacity:.35;
  animation:glowline 4s ease-in-out infinite;
}
@keyframes glowline{
  0%,100%{filter:drop-shadow(0 0 0 rgba(255,212,0,.0))}
  50%{filter:drop-shadow(0 0 8px rgba(255,212,0,.4))}
}
@media (max-width:700px){
  .timeline::before{left:60px}
}
.talk{
  border:1px solid var(--ring);
  border-radius:14px;
  background:rgba(255,255,255,.02);
  overflow:hidden;
  position:relative;
}
.talk::before{
  content:"";
  position:absolute;
  left:70px;
  top:18px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 3px rgba(255,212,0,.18);
}
@media (max-width:700px){
  .talk::before{left:54px}
}
.talk[open]{background:rgba(255,255,255,.04)}
.talk__header{
  list-style:none;
  display:grid;
  grid-template-columns:160px 1fr 24px;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  cursor:pointer;
}
@media (max-width:700px){
  .talk__header{
    grid-template-columns:132px 1fr 24px;
  }
}
.talk__time{
  font-weight:900;
  color:#101;
  background:var(--accent);
  border-radius:8px;
  padding:7px 10px;
  text-align:center;
}
.talk--ghost .talk__time{
  background:transparent;
  border:1px dashed var(--ring);
  color:var(--muted);
}
.talk__title{
  font-weight:800;
}
.talk__header::-webkit-details-marker{display:none}
.talk__header::after{
  content:"▾";
  justify-self:end;
  opacity:.8;
  transform:rotate(-90deg);
  transition:transform .25s ease;
}
.talk.is-open .talk__header::after,
.talk[open] .talk__header::after{
  transform:rotate(0deg);
}
.talk__content{
  padding:12px 16px 16px;
  border-top:1px solid var(--ring);
  color:var(--muted);
}

/* ===== Frase central (H3 amarillo) ===== */
.frase-central{
  font-size:1.05rem;
  text-align:center;
  max-width:840px;
  margin:0 auto;
}

/* ===== EXPOSITORES – Toolbar ===== */
.speaker-toolbar{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.chips{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.chip{
  appearance:none;
  border:1px solid var(--ring);
  background:rgba(255,255,255,.05);
  color:var(--text);
  padding:6px 10px;
  border-radius:999px;
  font-weight:900;
  cursor:pointer;
}
.chip.is-active{
  background:var(--accent);
  color:#111;
  border-color:transparent;
  box-shadow:0 10px 20px rgba(255,212,0,.3);
}
.search{
  position:relative;
  min-width:220px;
}
.search input{
  width:100%;
  border:1px solid var(--ring);
  border-radius:12px;
  padding:10px 36px 10px 12px;
  background:rgba(255,255,255,.05);
  color:var(--text);
}
.search .loupe{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  opacity:.8;
}

/* Grid de tarjetas expositores */
.speaker-grid{
  display:grid;
  gap:18px;
  grid-template-columns: repeat( auto-fill, minmax(260px, 1fr) );
}
.speaker{
  position:relative;
  padding:16px 16px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.028);
  border:1px solid var(--ring);
  transform-style:preserve-3d;
  box-shadow:0 14px 32px rgba(0,0,0,.28);
  backdrop-filter: blur(8px) saturate(130%);
  display:flex;
  flex-direction:column;
  height:360px;
  isolation:isolate;
  padding-top:48px;
}
.card3d:hover{
  transform:translateY(-4px) rotateX(.6deg) rotateY(-.6deg);
}
.card3d::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background: linear-gradient(180deg, rgba(255,255,255,.08), transparent 40%);
  mix-blend-mode:screen;
}
.speaker:focus{
  outline:2px solid var(--accent);
}

/* Encabezado SIN avatar */
.speaker__head{
  display:grid;
  grid-template-columns:1fr;
  gap:2px;
  margin-bottom:6px;
  padding-right: 90px;
}
.speaker__name{
  margin:0;
  font-size:1.02rem;
  font-weight:1000;
  letter-spacing:.2px;
  background:linear-gradient(90deg,#fff,#ffe27a);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 10px 28px rgba(0,0,0,.25);
}
.speaker__role{
  margin:0;
  font-size:.86rem;
  color:var(--muted);
}

/* Línea divisoria suave */
.hairline{
  height:1px;
  margin:6px 0 8px;
  background:linear-gradient(90deg, rgba(255,212,0,.0), rgba(255,212,0,.35), rgba(255,212,0,.0));
  opacity:.7;
}

/* Cinta (badge) segura */
.ribbon{
  position:absolute;
  top:8px;
  right:10px;
  background:linear-gradient(135deg, var(--accent), #ffe45c);
  color:#111;
  font-weight:900;
  font-size:.74rem;
  padding:6px 10px;
  border-radius:999px;
  box-shadow:0 6px 16px rgba(0,0,0,.25);
  pointer-events:none;
}

/* Scroll interno de bio */
.speaker__scroll{
  flex:1;
  overflow:auto;
  padding-right:6px;
  color:var(--muted);
  line-height:1.5;
  scrollbar-width:thin;
  scrollbar-color: var(--accent) transparent;
  border-top:1px dashed var(--ring);
  border-bottom:1px dashed var(--ring);
  padding-top:8px;
  padding-bottom:8px;
}
.speaker__scroll::-webkit-scrollbar{ width:6px }
.speaker__scroll::-webkit-scrollbar-thumb{
  background:var(--accent);
  border-radius:6px;
}
.speaker__scroll p{
  margin:.35rem 0;
  font-size:.92rem;
}

/* Tags */
.tags{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:8px 0 0;
  padding:0;
  list-style:none;
}
.tags li{
  border:1px solid var(--ring);
  background:rgba(255,255,255,.03);
  padding:6px 8px;
  border-radius:999px;
  font-size:.82rem;
  color:var(--muted);
}

/* Botón mini “ver más” */
.mini.more{
  align-self:flex-start;
  margin-top:10px;
  padding:6px 10px;
  border-radius:999px;
  font-weight:900;
  border:1px solid var(--ring);
  background:rgba(255,255,255,.06);
  color:var(--text);
  cursor:pointer;
}
.mini.more:hover{
  border-color:var(--accent);
  box-shadow:0 0 0 2px rgba(255,212,0,.12) inset;
}

/* ===== MODAL ===== */
.modal{
  position:fixed;
  inset:0;
  display:none;
  z-index:100;
}
.modal.is-open{
  display:block;
}
.modal__backdrop{
  position:absolute;
  inset:0;
  backdrop-filter: blur(8px) saturate(130%);
  background:rgba(0,0,0,.45);
}
.modal__panel{
  position:absolute;
  inset:auto 0 0 0;
  margin:auto;
  top:6vh;
  width:min(780px, 92vw);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  padding:18px 16px;
  box-shadow: var(--shadow-xl);
  color:var(--text);
}
.modal__title{
  margin:0 0 8px;
  font-size:1.25rem;
}
.modal__body{
  color:var(--muted);
  line-height:1.6;
  max-height:62vh;
  overflow:auto;
  padding-right:8px;
}
.modal__body p{
  margin:.6rem 0;
}
.modal__close{
  position:absolute;
  top:10px;
  right:10px;
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid var(--ring);
  background:rgba(255,255,255,.08);
  color:var(--text);
  cursor:pointer;
  font-size:1.1rem;
  font-weight:900;
}

/* ===== Footer ===== */
.footer{
  padding:40px 16px 110px;
  text-align:center;
  opacity:.95;
}
.footer__logos{
  display:flex;
  gap:14px;
  justify-content:center;
  align-items:center;
  margin-bottom:10px;
}
.footer__logos img{
  height:48px;
  width:auto;
  border-radius:10px;
  background:rgba(255,255,255,.04);
  padding:6px;
  border:1px solid var(--ring);
}

/* ===== Bottom Nav ===== */
.bottombar{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:30;
  display:flex;
  gap:8px;
  justify-content:space-around;
  align-items:center;
  padding:10px;
  backdrop-filter:blur(8px) saturate(140%);
  background:rgba(10,22,70,.95);
  border-top:1px solid var(--ring);
}
.tab{
  flex:1;
  text-align:center;
  color:var(--text);
  text-decoration:none;
  padding:10px 8px;
  border-radius:12px;
  border:1px solid var(--ring);
  font-size:.9rem;
}
.tab.active{
  border-color:var(--accent);
  box-shadow:0 0 0 2px rgba(255,212,0,.25) inset, 0 10px 24px rgba(255,212,0,.28);
  color:#111;
  background:rgba(255,212,0,.95);
}

/* ===== CTA flotante + Back to top ===== */
.fab-top{
  position:fixed;
  left:14px;
  bottom:78px;
  z-index:40;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid var(--ring);
  background:rgba(255,255,255,.08);
  color:var(--text);
  backdrop-filter:blur(8px);
  cursor:pointer;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .2s ease, transform .2s ease;
}
.fab-top.is-on{
  opacity:1;
  transform:none;
}

/* ===== Reveal on scroll ===== */
.reveal{
  opacity:0;
  transform:translateY(16px);
}
.reveal.is-in{
  opacity:1;
  transform:none;
  transition:opacity .6s ease, transform .6s ease;
}

/* ===== Animaciones base ===== */
@keyframes glow{
  0%{filter:drop-shadow(0 0 0 rgba(255,212,0,.0))}
  100%{filter:drop-shadow(0 0 10px rgba(255,212,0,.28))}
}
@keyframes fadeIn{
  from{opacity:0; transform:translateY(-6px)}
  to{opacity:1; transform:none}
}
@keyframes fadeUp{
  from{opacity:0; transform:translateY(10px)}
  to{opacity:1; transform:none}
}

/* ===== Tema claro (toggle) ===== */
:root[data-theme="light"]{
  --bg:#f6f8ff;
  --bg2:#ffffff;
  --text:#0b1f4d;
  --muted:#435a8a;
  --ring:rgba(11,31,77,.12);
  background: linear-gradient(180deg, #f6f8ff 0%, #e9efff 100%);
}
:root[data-theme="light"] body{
  color: var(--text);
  background:#f6f8ff;
}
:root[data-theme="light"] .topbar{
  background: rgba(255,255,255,.9);
}
:root[data-theme="light"] .btn--ghost{
  color: var(--text);
}
:root[data-theme="light"] .panel,
:root[data-theme="light"] .block{
  background: rgba(255,255,255,.75);
}

/* Accesibilidad: reduce motion */
@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important}
  .reveal{opacity:1; transform:none}
  #progress{transition:none}
}

/* ===== FONDO AZUL PLANO (refuerzo) ===== */
body {
  background: #0B1F4D;
}

/* ===== LOGO SIN ANIMACIÓN PERO CON SOMBRA (refuerzo) ===== */
.hero__logo img {
  width: clamp(140px, 24vw, 240px);
  height: auto;
  filter: drop-shadow(0 14px 36px rgba(0,0,0,.35));
}

/* QUITAR LÍNEA GIRANDO DETRÁS DEL LOGO (sin animación) */
.hero__plaque::after {
  animation: none;
}

/* TITULAR SIN BRILLO EN MOVIMIENTO (más suave) */
.text-grand-xl {
  animation: none;
  background-size: 100% 100%;
}

/* ===== TEXTOS CLAVE EN AMARILLO (H3) ===== */
.hero-highlight,
.sponsors-text,
.programa-text,
.frase-central {
  color: #FFD400;
  font-weight: 800;
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
  margin: 10px auto 6px;
  max-width: 900px;
}

/* Bloques de énfasis */
.highlight-block {
  padding: 10px 14px;
  border-radius: 16px;
  background: rgba(0, 0, 0, 0.12);
  border: 1px solid rgba(255, 212, 0, 0.35);
}

/* Más detalles en blanco/amarillo pero limpio */
.panel__title.title-glow {
  color: #ffffff;
}

.chip--gold {
  background: #FFD400;
  color: #ffffff;
  font-weight: 900;
}

.hero__badges .chip {
  border-color: rgba(255, 255, 255, 0.25);
}

/* Asegurar que no haya animaciones globales de fondo si quedó alguna */
.mesh,
.aurora,
.blobs,
#spotlight,
#bg {
  display: none !important;
}
/* ==== DETALLES EXTRA EN BLANCO / AMARILLO ==== */

/* H2 de secciones con subrayado dorado elegante */
.panel__title.title-glow {
  color: #ffffff;
  position: relative;
}

.panel__title.title-glow::after {
  content: "";
  display: block;
  height: 3px;
  border-radius: 999px;
  margin-top: 8px;
  background: linear-gradient(
    90deg,
    rgba(255, 212, 0, 0),
    #ffd400,
    rgba(255, 212, 0, 0)
  );
  box-shadow: 0 4px 14px rgba(255, 212, 0, 0.45);
}

/* Números de los stats en dorado para que resalten más */
.hero__stats strong {
  color: #ffd400;
}

/* Títulos de bloques del programa un poco más blancos y marcados */
.block__title {
  color: #ffffff;
  font-weight: 900;
}

/* Línea luminosa amarilla a la izquierda de cada bloque del programa */
.block__header {
  position: relative;
}

.block__header::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    rgba(255, 212, 0, 0.1),
    #ffd400,
    rgba(255, 212, 0, 0.1)
  );
  box-shadow: 0 0 10px rgba(255, 212, 0, 0.4);
}

/* Etiquetas (tags) de expositores un poquito más vivas */
.tags li {
  border-color: rgba(255, 255, 255, 0.25);
  background: rgba(255, 255, 255, 0.06);
}

/* Chip dorado bien marcado */
.chip--gold {
  background: #ffd400;
  color: #ffffff; /* 🔥 TEXTO EN BLANCO PARA “22 DE NOVIEMBRE 2025” */
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(255, 212, 0, 0.35);
}
