/* ── One page: cabecera propia con logo ──────────────── */
.saltar{
  position:absolute;left:-9999px;top:0;z-index:1000;
  padding:.75rem 1.25rem;background:var(--verde);color:#fff;border-radius:0 0 8px 0;
}
.saltar:focus{left:0}

.cm-cabecera{
  position:fixed;top:0;left:0;right:0;z-index:120;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:box-shadow .35s, border-color .35s, background .35s, backdrop-filter .35s;
}
.cm-cabecera.fija{
  background:rgba(255,255,255,.93);backdrop-filter:blur(12px);
  border-bottom-color:var(--borde);box-shadow:var(--sombra-sm);
}
/* Velo detrás del menú móvil. Se pinta antes que los hijos de la
   cabecera, así queda debajo del panel. */
.cm-cabecera::before{
  content:"";position:fixed;inset:0;
  background:rgba(6,17,15,.5);
  opacity:0;pointer-events:none;transition:opacity .4s;
}
.cm-menu-abierto .cm-cabecera::before{opacity:1;pointer-events:auto}
@media (min-width:1001px){.cm-cabecera::before{display:none}}
.cm-cabecera__caja{
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding-block:1rem;
}
.cm-cabecera.fija .cm-cabecera__caja{padding-block:.7rem}

.cm-logo{position:relative;display:flex;align-items:center;flex:none}
.cm-logo img{
  height:50px;width:auto;
  transition:height .35s cubic-bezier(.22,1,.36,1), opacity .3s;
}
.cm-cabecera.fija .cm-logo img{height:40px}
.cm-logo__oscuro{position:absolute;left:0;top:50%;transform:translateY(-50%);opacity:0}
.cm-cabecera.fija .cm-logo__claro{opacity:0}
.cm-cabecera.fija .cm-logo__oscuro{opacity:1}

.cm-nav{display:flex;align-items:center;gap:.15rem}
.cm-nav__link{
  position:relative;padding:.6rem .85rem;border-radius:9px;
  font-size:.9rem;font-weight:500;color:rgba(255,255,255,.86);
  transition:color .25s, background .25s;
}
.cm-nav__link:hover{color:#fff;background:rgba(255,255,255,.12)}
.cm-nav__link.activo{color:var(--verde-claro)}
.cm-nav__link.activo::after{background:var(--verde-claro)}
.cm-cabecera.fija .cm-nav__link{color:var(--tinta)}
.cm-cabecera.fija .cm-nav__link:hover{color:var(--verde);background:rgba(26,171,149,.07)}
.cm-cabecera.fija .cm-nav__link.activo{color:var(--verde)}
.cm-cabecera.fija .cm-nav__link.activo::after{background:var(--verde)}
.cm-nav__link.activo::after{
  content:"";position:absolute;left:.85rem;right:.85rem;bottom:.3rem;height:2px;
  background:var(--verde);border-radius:2px;
}
.cm-nav__cta{margin-left:.85rem;padding:.7rem 1.3rem;font-size:.88rem}

.cm-hamburguesa{display:none;width:46px;height:46px;place-items:center;border-radius:12px;flex:none}
.cm-hamburguesa span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .3s, opacity .3s, background .3s}
.cm-cabecera.fija .cm-hamburguesa span,
.cm-menu-abierto .cm-hamburguesa span{background:var(--tinta)}
.cm-hamburguesa span + span{margin-top:5px}
.cm-menu-abierto .cm-hamburguesa span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.cm-menu-abierto .cm-hamburguesa span:nth-child(2){opacity:0}
.cm-menu-abierto .cm-hamburguesa span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:1000px){
  /* Sin backdrop-filter: en móvil crea un bloque contenedor y el panel
     del menú, que es position:fixed, quedaría encerrado en la barra. */
  .cm-cabecera{backdrop-filter:none}
  .cm-cabecera.fija{background:#fff;backdrop-filter:none}
  .cm-hamburguesa{display:grid}
  .cm-nav{
    position:fixed;inset:0 0 0 auto;width:min(86vw,340px);
    flex-direction:column;align-items:stretch;justify-content:flex-start;
    gap:.25rem;padding:6rem 1.5rem 2rem;
    background:var(--blanco);box-shadow:var(--sombra-lg);
    transform:translateX(105%);transition:transform .4s cubic-bezier(.22,1,.36,1);
    overflow-y:auto;
  }
  .cm-menu-abierto .cm-cabecera{
    background:#fff;backdrop-filter:none;
    border-bottom-color:var(--borde);
  }
  .cm-menu-abierto .cm-logo__claro{opacity:0}
  .cm-menu-abierto .cm-logo__oscuro{opacity:1}
  .cm-menu-abierto .cm-nav{transform:none}
  .cm-menu-abierto .cm-nav__link{color:var(--tinta)}
  .cm-nav__link{padding:.9rem 1rem;font-size:1.05rem}
  .cm-nav__link.activo::after{left:1rem;right:auto;width:18px;bottom:.55rem}
  .cm-nav__cta{margin:1rem 0 0;justify-content:center}
}

/* La portada arranca debajo de la cabecera fija */
.cm-onepage .hero--cm{padding-top:clamp(6rem,9vw,8rem);padding-bottom:clamp(3rem,6vw,5rem)}
.cm-onepage [id]{scroll-margin-top:88px}

/* ── Cuerpo continuo: un solo fondo, sin cortes ──────── */
.cm-cuerpo{background:var(--fondo)}
.bloque-pagina{padding-block:clamp(3.5rem,6vw,6rem)}
.bloque-pagina + .bloque-pagina{padding-top:0}
.bloque-pagina .encabezado-seccion{margin-bottom:clamp(2rem,4vw,3rem)}

.cm-kids-logo{height:64px;width:auto}
.cm-kids-foto{
  border-radius:var(--radio);overflow:hidden;background:#0e2b26;aspect-ratio:4/3;
}
.cm-kids-foto img{width:100%;height:100%;object-fit:cover}

/* ── Pie propio del congreso ─────────────────────────── */
.cm-pie{
  background:var(--noche);color:rgba(223,232,229,.62);
  padding-top:clamp(3.5rem,6vw,5rem);
}
.cm-pie h4{
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:#fff;margin-bottom:1.25rem;
}
.cm-pie__rejilla{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1.2fr;gap:2.5rem}
@media (max-width:900px){.cm-pie__rejilla{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cm-pie__rejilla{grid-template-columns:1fr}}
.cm-pie__logo{height:52px;width:auto;margin-bottom:1.25rem}
.cm-pie__texto{font-size:.92rem;max-width:36ch}
.cm-pie li{font-size:.9rem}
.cm-pie li + li{margin-top:.6rem}
.cm-pie a{transition:color .25s}
.cm-pie a:hover{color:var(--verde-claro)}
.cm-pie__social{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1.5rem;font-size:.85rem}
.cm-pie__legal{
  display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;
  margin-top:clamp(2.5rem,5vw,4rem);padding-block:1.75rem;
  border-top:1px solid rgba(255,255,255,.09);
  font-size:.78rem;color:rgba(223,232,229,.4);
}

/* =========================================================
   Congreso Misionero 2026 — estilos de página
   Extiende css/style.css. Usa los mismos tokens de :root.
   ========================================================= */

/* ── Barra de progreso ───────────────────────────────── */
.progreso{
  position:fixed;top:0;left:0;right:0;height:3px;z-index:999;
  background:linear-gradient(90deg,var(--verde),var(--verde-claro),var(--oro));
  transform:scaleX(0);transform-origin:0 50%;
  will-change:transform;
}

/* ── Hero del congreso ───────────────────────────────── */
.hero--cm{min-height:auto;padding-block:clamp(4rem,9vw,7rem)}
.hero--cm::after{
  background:
    radial-gradient(55% 45% at 82% 12%, rgba(26,171,149,.26), transparent 70%),
    radial-gradient(50% 45% at 8% 88%, rgba(224,176,100,.16), transparent 70%);
}
.hero--cm h1{max-width:22ch;margin:1.25rem 0 .75rem}
.cm-sello{
  display:inline-flex;align-items:center;gap:.7rem;
  padding:.45rem .95rem .45rem .55rem;border-radius:999px;
  border:1px solid rgba(224,176,100,.42);background:rgba(224,176,100,.08);
  font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--oro);
}
.cm-sello b{
  display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  background:var(--oro);color:var(--noche);font-family:var(--display);font-size:.95rem;letter-spacing:0;
}
.cm-lema{
  font-family:var(--display);font-style:italic;
  font-size:clamp(1.25rem,.9rem + 1.4vw,1.9rem);
  color:var(--verde-claro);margin-bottom:1.5rem;
}
.hero--cm .cuenta-regresiva{max-width:620px;margin-top:2.25rem}
.hero__datos{
  display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.75rem;
}
.hero__datos span{
  display:inline-flex;align-items:center;gap:.5rem;
  border:1px solid rgba(255,255,255,.16);border-radius:999px;
  padding:.42rem .95rem;font-size:.82rem;color:rgba(223,232,229,.86);
}

/* ── Versículo insignia ──────────────────────────────── */
.insignia{
  position:relative;overflow:hidden;text-align:center;
  background:linear-gradient(140deg,#0f342d 0%,var(--noche) 70%);
  color:#fff;padding-block:clamp(4rem,9vw,7.5rem);
}
.insignia::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(45% 60% at 50% 0%, rgba(47,214,187,.16), transparent 70%);
}
.insignia__marco{position:relative;max-width:920px;margin-inline:auto}
.insignia__cita{
  font-family:var(--display);font-weight:300;
  font-size:clamp(1.7rem,1rem + 3.4vw,3.4rem);line-height:1.22;
  letter-spacing:-.015em;
}
.insignia__cita em{font-style:italic;color:var(--verde-claro)}
.insignia__ref{
  display:inline-block;margin-top:1.75rem;padding-top:1.5rem;
  border-top:1px solid rgba(224,176,100,.4);
  font-size:.76rem;letter-spacing:.24em;text-transform:uppercase;color:var(--oro);
}

/* ── Franja de cifras ────────────────────────────────── */
.cifras{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:1px;background:var(--borde);border:1px solid var(--borde);
  border-radius:var(--radio);overflow:hidden;
}
.cifra{background:var(--superficie);padding:1.9rem 1.4rem;text-align:center}
.cifra strong{
  display:block;font-family:var(--display);font-size:clamp(2.1rem,1.4rem + 1.8vw,3rem);
  line-height:1;color:var(--verde-oscuro);font-variant-numeric:tabular-nums;
}
.cifra span{
  display:block;margin-top:.55rem;font-size:.76rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--humo);
}

/* ── Avatares ────────────────────────────────────────── */
.avatar{
  position:relative;display:grid;place-items:center;flex:none;
  width:64px;height:64px;border-radius:50%;overflow:hidden;
  --hue:calc(148 + var(--h) * .13);
  background:linear-gradient(145deg,
    hsl(var(--hue) 46% 34%),
    hsl(var(--hue) 58% 17%));
  color:#fff;
}
.avatar__ini{
  font-family:var(--display);font-size:1.15rem;letter-spacing:.02em;opacity:.92;
}
.avatar img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .5s;
}
.avatar img.ok{opacity:1}
.avatar--grande{width:104px;height:104px}
.avatar--grande .avatar__ini{font-size:2rem}
.avatar--ficha{width:132px;height:132px}
.avatar--ficha .avatar__ini{font-size:2.6rem}
.avatar--mini{width:34px;height:34px}
.avatar--mini .avatar__ini{font-size:.72rem}

/* ── Tarjetas de oradores ────────────────────────────── */
.oradores{
  display:grid;gap:1.25rem;
  grid-template-columns:repeat(auto-fit,minmax(310px,1fr));
}
.orador{
  display:flex;gap:1.25rem;align-items:flex-start;
  background:var(--superficie);border:1px solid var(--borde);
  border-radius:var(--radio);padding:1.75rem;
}
.orador h3{font-size:1.22rem;line-height:1.2}
.orador__rol{
  font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--verde);margin-top:.35rem;
}
.orador__bio{position:relative;margin-top:.85rem;max-height:4.32em;overflow:hidden}
.orador__bio p{font-size:.9rem;color:var(--humo);line-height:1.6;margin:0}
/* Difuminado en el corte, solo cuando está plegada */
.orador__bio::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1.6em;
  background:linear-gradient(transparent, var(--superficie));
  pointer-events:none;transition:opacity .3s;
}

.orador__mas{
  display:inline-flex;align-items:center;gap:.5rem;margin-top:.9rem;
  padding:.5rem 1rem;border-radius:999px;white-space:nowrap;align-self:flex-start;
  font-family:inherit;font-size:.78rem;font-weight:600;letter-spacing:.02em;
  color:#fff;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.22);cursor:pointer;
  transition:color .3s, background .3s, border-color .3s, transform .3s;
}
.orador__mas:hover{
  color:var(--noche);background:linear-gradient(135deg,var(--verde-claro),var(--verde));
  border-color:transparent;transform:translateY(-2px);
}
.orador__mas:focus-visible{outline:2px solid #fff;outline-offset:3px}
.orador__mas svg{
  width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round;
  transition:transform .4s cubic-bezier(.22,1,.36,1);
}
.orador__mas:hover svg{transform:translateX(3px)}
.orador__participa{margin-top:1rem;display:grid;gap:.35rem}
.orador__participa li{
  font-size:.78rem;color:var(--verde-oscuro);
  padding-left:1rem;position:relative;
}
.orador__participa li::before{
  content:"";position:absolute;left:0;top:.55em;
  width:6px;height:6px;border-radius:50%;background:var(--oro);
}
@media (max-width:420px){
  .orador{flex-direction:column}
}

/* ── Cronograma ──────────────────────────────────────── */
.pestanas{
  display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem;
}
.pestana{
  flex:1 1 150px;text-align:left;padding:1rem 1.25rem;border-radius:var(--radio-sm);
  border:1.5px solid var(--borde);background:var(--superficie);
  transition:border-color .3s, background .3s, transform .3s, box-shadow .3s;
}
.pestana strong{
  display:block;font-family:var(--display);font-size:1.15rem;line-height:1.1;color:var(--tinta);
}
.pestana span{
  display:block;margin-top:.3rem;font-size:.72rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--humo);
}
.pestana:hover{border-color:var(--verde);transform:translateY(-2px)}
.pestana.activa{
  background:var(--verde);border-color:var(--verde);
  box-shadow:0 14px 34px -14px rgba(26,171,149,.75);
}
.pestana.activa strong,.pestana.activa span{color:#fff}
.pestana.activa span{opacity:.8}

.dia{display:none}
.dia.activo{display:block;animation:aparecer .45s cubic-bezier(.22,1,.36,1)}
@keyframes aparecer{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.dia__encabezado{
  display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;justify-content:space-between;
  padding-bottom:1rem;margin-bottom:.5rem;border-bottom:1px solid var(--borde);
  font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--humo);
}
.dia__aviso{
  margin:1rem 0;padding:.85rem 1.1rem;border-radius:var(--radio-sm);
  background:rgba(239,111,108,.09);border:1px solid rgba(239,111,108,.28);
  color:#a8443f;font-size:.88rem;
}

.bloque{
  display:grid;grid-template-columns:132px 28px 1fr;gap:0 .75rem;align-items:start;
  padding:1.5rem 0;
}
.bloque__hora{
  font-size:.84rem;font-weight:600;color:var(--tinta);
  font-variant-numeric:tabular-nums;padding-top:.15rem;white-space:nowrap;
}
.bloque__linea{position:relative;justify-self:center;align-self:stretch;width:2px;background:rgba(11,31,28,.14)}
.dia .bloque:first-of-type .bloque__linea{background:linear-gradient(transparent,rgba(11,31,28,.14) 26px)}
.dia .bloque:last-child .bloque__linea{background:linear-gradient(rgba(11,31,28,.14),transparent 65%)}
.bloque__linea i{
  position:absolute;top:.4rem;left:50%;transform:translateX(-50%);
  width:11px;height:11px;border-radius:50%;background:var(--niebla);
  box-shadow:0 0 0 4px var(--fondo);
}
.bloque--plenaria .bloque__linea i{background:var(--verde);box-shadow:0 0 0 4px var(--fondo),0 0 0 7px rgba(26,171,149,.22)}
.bloque--taller .bloque__linea i{background:var(--oro);box-shadow:0 0 0 4px var(--fondo),0 0 0 7px rgba(224,176,100,.22)}
.bloque--apertura .bloque__linea i{background:var(--coral)}
.bloque__cuerpo h4{font-size:1.15rem;line-height:1.25;color:var(--tinta)}
.bloque--logistica .bloque__cuerpo h4,
.bloque--break .bloque__cuerpo h4{
  font-family:var(--texto);font-size:.9rem;font-weight:600;color:var(--humo);
}
.bloque__tipo{
  display:inline-block;margin-bottom:.5rem;
  font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--verde-oscuro);background:rgba(26,171,149,.1);
  padding:.3rem .6rem;border-radius:6px;
}
.bloque--taller .bloque__tipo{color:#8a6316;background:rgba(224,176,100,.18)}
.bloque__tipo em{font-style:normal;opacity:.75}
.bloque__texto{
  margin-top:.4rem;font-family:var(--display);font-style:italic;
  font-size:1rem;color:var(--verde-oscuro);
}
.bloque__desc{margin-top:.6rem;font-size:.92rem;color:var(--humo);max-width:62ch}
.bloque__oradores{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.mini{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.35rem .9rem .35rem .35rem;border-radius:999px;
  background:var(--crema);border:1px solid var(--borde);
  font-size:.82rem;font-weight:600;color:var(--tinta);
}
@media (max-width:640px){
  .bloque{grid-template-columns:1fr;gap:.5rem}
  .bloque__linea{display:none}
  .bloque__hora{
    color:var(--verde);font-size:.78rem;letter-spacing:.06em;
  }
}

/* ── Cronograma general (vista compacta) ─────────────── */
.tabla-general{width:100%;border-collapse:collapse;font-size:.9rem;min-width:660px}
.tabla-envoltura{overflow-x:auto;border:1px solid var(--borde);border-radius:var(--radio);background:var(--superficie)}
.tabla-general th{
  text-align:left;padding:1rem 1.1rem;background:var(--crema);
  font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--humo);
  border-bottom:1px solid var(--borde);white-space:nowrap;
}
.tabla-general td{padding:1rem 1.1rem;border-bottom:1px solid var(--borde);vertical-align:top;color:var(--humo)}
.tabla-general tr:last-child td{border-bottom:0}
.tabla-general td:first-child{color:var(--tinta);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.tabla-general strong{color:var(--tinta);font-weight:600}

/* ── Descargas ───────────────────────────────────────── */
.descargas{display:grid;gap:1.25rem;justify-content:center;
  grid-template-columns:repeat(auto-fit,minmax(280px,380px));}
.descarga{
  display:flex;gap:1.15rem;align-items:flex-start;
  background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);
  padding:1.6rem;transition:transform var(--transicion), box-shadow var(--transicion), border-color var(--transicion);
}
.descarga:hover{transform:translateY(-5px);box-shadow:var(--sombra);border-color:transparent}
.descarga__icono{
  flex:none;width:48px;height:48px;border-radius:13px;display:grid;place-items:center;
  background:rgba(26,171,149,.1);color:var(--verde);font-size:.66rem;font-weight:700;letter-spacing:.06em;
}
.descarga--kids .descarga__icono{background:rgba(239,111,108,.12);color:var(--coral)}
.descarga--sponsor .descarga__icono{background:rgba(224,176,100,.16);color:#8a6316}
.descarga h3{font-size:1.05rem;line-height:1.25}
.descarga p{margin-top:.4rem;font-size:.86rem;color:var(--humo)}
.descarga__pie{
  display:flex;align-items:center;gap:.6rem;margin-top:.9rem;
  font-size:.78rem;font-weight:600;color:var(--verde);
}
.descarga--pendiente{opacity:.62}
.descarga--pendiente .descarga__pie{color:var(--humo)}
.insignia-estado{
  font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:.22rem .5rem;border-radius:5px;background:var(--crema);color:var(--humo);
}

/* ── Inscripción ─────────────────────────────────────── */
.inscripcion{
  background:linear-gradient(150deg,#0f342d,var(--noche));color:var(--niebla);
}
.inscripcion h2,.inscripcion h3{color:#fff}
.inscripcion .etiqueta{color:var(--verde-claro)}
.inscripcion__rejilla{
  display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:start;
}
@media (max-width:900px){.inscripcion__rejilla{grid-template-columns:1fr}}
.inscripcion__caja{
  background:var(--superficie);color:var(--tinta);
  border-radius:var(--radio);padding:clamp(1.75rem,3.5vw,2.5rem);
  box-shadow:var(--sombra-lg);
}
.inscripcion__lista{display:grid;gap:1.1rem;margin-top:2rem}
.inscripcion__lista li{display:flex;gap:.9rem;align-items:flex-start;font-size:.94rem}
.inscripcion__lista b{
  flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  background:rgba(47,214,187,.14);color:var(--verde-claro);font-size:.78rem;
}
.opcion{
  display:flex;gap:.7rem;align-items:flex-start;padding:.9rem 1.05rem;
  border:1.5px solid var(--borde);border-radius:var(--radio-sm);cursor:pointer;
  transition:border-color .25s, background .25s;
}
.opcion:hover{border-color:var(--verde);background:rgba(26,171,149,.04)}
.opcion input{margin-top:.2rem;accent-color:var(--verde);width:auto}
.opcion span{font-size:.9rem;color:var(--humo)}
.opcion b{display:block;color:var(--tinta);font-size:.94rem}
.form-nota{margin-top:1rem;font-size:.8rem;color:var(--humo);text-align:center}
.btn--wa{background:#25d366;color:#0b2e18;box-shadow:0 10px 28px -12px rgba(37,211,102,.8)}
.btn--wa:hover{background:#1fbe5b}

/* ── Carrusel de sponsors ────────────────────────────── */
.logos{
  position:relative;overflow:hidden;padding-block:.5rem;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.logos__pista{
  display:flex;gap:1.25rem;width:max-content;
  animation:desfilar 46s linear infinite;
}
.logos__pista--lenta{animation-duration:64s;animation-direction:reverse;margin-top:1.25rem}
.logos:hover .logos__pista,
.logos:focus-within .logos__pista{animation-play-state:paused}
@keyframes desfilar{to{transform:translateX(-50%)}}

.logo-sponsor{
  flex:none;width:210px;height:118px;display:grid;place-items:center;
  padding:1.25rem;border:1px solid var(--borde);border-radius:var(--radio-sm);
  background:var(--superficie);
  transition:border-color .3s, box-shadow .3s, transform .3s;
}
.logo-sponsor:hover{border-color:var(--verde);box-shadow:var(--sombra-sm);transform:translateY(-3px)}
.logo-sponsor img{
  max-width:100%;max-height:66px;width:auto;object-fit:contain;
  filter:grayscale(1);opacity:.62;transition:filter .35s, opacity .35s;
}
.logo-sponsor:hover img{filter:none;opacity:1}
.logo-sponsor__texto{
  font-family:var(--display);font-size:1.02rem;line-height:1.2;
  color:var(--tinta);text-align:center;
}

/* Lugar todavía sin sponsor: el logo provisorio, más apagado y
   con el borde punteado para que se note que es un espacio libre. */
.logo-sponsor--provisorio{border-style:dashed;background:transparent}
.logo-sponsor--provisorio:hover{transform:none;box-shadow:none}
.logo-sponsor--provisorio img{opacity:.4;filter:none}
.logo-sponsor--provisorio:hover img{opacity:.6;filter:none}

@media (prefers-reduced-motion:reduce){
  .logos{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .logos__pista{animation:none}
  .logos__pista--lenta{display:none}
}

/* ── Contacto rápido en el pie de página ─────────────── */
.contacto-rapido{
  display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  margin-top:2.5rem;
}
.contacto-rapido a{
  display:flex;align-items:center;gap:.9rem;padding:1.15rem 1.3rem;
  border:1px solid var(--borde);border-radius:var(--radio-sm);
  background:var(--superficie);transition:border-color .25s, transform .25s, box-shadow .25s;
}
.contacto-rapido a:hover{border-color:var(--verde);transform:translateY(-3px);box-shadow:var(--sombra-sm)}
.contacto-rapido strong{display:block;font-size:.95rem;color:var(--tinta)}
.contacto-rapido span{font-size:.82rem;color:var(--humo)}
.contacto-rapido i{
  flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  background:rgba(26,171,149,.1);color:var(--verde);font-style:normal;font-size:1.1rem;
}

@media (prefers-reduced-motion:reduce){
  .dia.activo{animation:none}
  .progreso{transition:none}
}

/* =========================================================
   TEMA MARRÓN · NEGRO
   Toma la paleta de en-construccion.html y la aplica a toda
   la página redefiniendo los tokens de css/style.css.
   Va al final a propósito: pisa todo lo anterior.
   ========================================================= */
body.cm-onepage{
  /* Paleta */
  --negro:  #0b0704;
  --carbon: #171008;
  --marron: #8a5a2b;
  --ambar:  #c98e4e;
  --oro:    #e6b877;
  --crema:  #f4ead9;

  /* Remapeo de los tokens del sistema (mismo rol, otro color) */
  --verde:        #c98e4e;
  --verde-claro:  #e6b877;
  --verde-oscuro: #8a5a2b;
  --coral:        #d9744e;

  --noche:   #0b0704;
  --tinta:   #f4ead9;
  --humo:    #9d8a72;
  --niebla:  #f4ead9;
  --blanco:  #171008;

  --fondo:      #0b0704;
  --superficie: rgba(23,16,8,.85);
  --borde:      rgba(230,184,119,.14);

  --sombra-sm: 0 2px 10px rgba(0,0,0,.35);
  --sombra:    0 22px 60px -22px rgba(0,0,0,.85);
  --sombra-lg: 0 40px 90px -30px rgba(0,0,0,.9);

  color:var(--crema);
  background:var(--negro);
  background-image:radial-gradient(120% 90% at 50% 0%, #241605 0%, rgba(11,7,4,0) 62%);
  background-repeat:no-repeat;
  background-size:100% 160vh;
  min-height:100vh;
}
body.cm-onepage ::selection{background:var(--ambar);color:#fff}

/* ── Fondo: globo, halo y trama ──────────────────────── */
#globo-fondo{
  position:fixed;inset:0;z-index:0;display:grid;place-items:center;
  opacity:0;transition:opacity 1.6s ease;pointer-events:none;
}
#globo-fondo.listo{opacity:.42}
.halo{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(42% 42% at 50% 55%, rgba(201,142,78,.14), transparent 70%);
}
.grano{
  position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(70% 60% at 50% 45%, #000 25%, transparent 100%);
          mask-image:radial-gradient(70% 60% at 50% 45%, #000 25%, transparent 100%);
}
.cm-onepage main,
.cm-onepage .cm-cabecera,
.cm-onepage .cm-pie{position:relative;z-index:2}
.cm-onepage .cm-cabecera{z-index:120}

/* ── Portada: transparente para que se vea el globo ──── */
.cm-onepage .hero--cm{background:transparent}
.cm-onepage .hero--cm::after{
  background:
    radial-gradient(55% 45% at 82% 12%, rgba(201,142,78,.18), transparent 70%),
    radial-gradient(50% 45% at 8% 88%, rgba(230,184,119,.10), transparent 70%);
}
.cm-onepage .hero__grid{opacity:.35}
.cm-onepage .hero h1,
.cm-onepage .hero--cm h1{color:var(--crema)}
.cm-onepage .hero em{color:var(--oro)}
.cm-onepage .hero .plomo{color:var(--humo)}
.cm-onepage .cm-lema{color:var(--oro)}
.cm-onepage .cm-sello{
  border-color:rgba(230,184,119,.42);background:rgba(230,184,119,.08);color:var(--oro);
}
.cm-onepage .cm-sello b{background:var(--oro);color:var(--negro)}
.cm-onepage .fact,
.cm-onepage .hero__datos span{border-color:rgba(230,184,119,.22);color:rgba(244,234,217,.86)}

/* ── Cuerpo: velo para que el texto se lea sobre el globo ── */
.cm-onepage .cm-cuerpo{
  background:linear-gradient(180deg,
    rgba(11,7,4,0) 0%, rgba(11,7,4,.93) 5%,
    rgba(11,7,4,.93) 95%, rgba(11,7,4,0) 100%);
}
.cm-onepage .insignia{
  background:linear-gradient(140deg, rgba(36,22,5,.72), rgba(11,7,4,.92) 70%);
}
.cm-onepage .insignia::before{
  background:radial-gradient(45% 60% at 50% 0%, rgba(230,184,119,.16), transparent 70%);
}
.cm-onepage .insignia__cita{color:var(--crema)}
.cm-onepage .insignia__cita em{color:var(--oro)}
.cm-onepage .insignia__ref{border-top-color:rgba(230,184,119,.4);color:var(--oro)}
.cm-onepage .inscripcion{
  background:linear-gradient(150deg, rgba(36,22,5,.8), rgba(11,7,4,.95));
}

/* ── Cabecera y menú ─────────────────────────────────── */
.cm-onepage .cm-cabecera.fija{
  background:rgba(11,7,4,.9);border-bottom-color:rgba(230,184,119,.14);
}
.cm-onepage .cm-cabecera.fija .cm-logo__claro{opacity:1}
.cm-onepage .cm-cabecera.fija .cm-logo__oscuro{opacity:0}
.cm-onepage .cm-cabecera.fija .cm-nav__link{color:rgba(244,234,217,.86)}
.cm-onepage .cm-cabecera.fija .cm-nav__link:hover{color:#fff;background:rgba(230,184,119,.12)}
.cm-onepage .cm-cabecera.fija .cm-nav__link.activo,
.cm-onepage .cm-nav__link.activo{color:var(--oro)}
.cm-onepage .cm-nav__link.activo::after,
.cm-onepage .cm-cabecera.fija .cm-nav__link.activo::after{background:var(--oro)}
.cm-onepage .cm-cabecera.fija .cm-hamburguesa span{background:var(--crema)}
@media (max-width:1000px){
  .cm-onepage .cm-cabecera.fija{background:var(--negro)}
  .cm-onepage .cm-nav{background:var(--carbon);border-left:1px solid rgba(230,184,119,.14)}
  .cm-onepage.cm-menu-abierto .cm-cabecera{background:var(--negro)}
  .cm-onepage.cm-menu-abierto .cm-logo__claro{opacity:1}
  .cm-onepage.cm-menu-abierto .cm-logo__oscuro{opacity:0}
  .cm-onepage.cm-menu-abierto .cm-hamburguesa span{background:var(--crema)}
  .cm-onepage.cm-menu-abierto .cm-nav__link{color:var(--crema)}
}

/* ── Botones ─────────────────────────────────────────── */
.cm-onepage .btn--primario{
  background:linear-gradient(135deg,var(--ambar),var(--marron));color:#fff;
  box-shadow:0 12px 32px -12px rgba(201,142,78,.8);
}
.cm-onepage .btn--primario:hover{
  background:linear-gradient(135deg,var(--oro),var(--ambar));
  box-shadow:0 18px 40px -12px rgba(201,142,78,.95);
}
.cm-onepage .btn--fantasma{border-color:rgba(230,184,119,.4);color:var(--crema)}
.cm-onepage .btn--fantasma:hover{background:rgba(230,184,119,.1);border-color:var(--oro)}
.cm-onepage .btn--linea{border-color:rgba(230,184,119,.35);color:var(--crema)}
.cm-onepage .btn--linea:hover{border-color:var(--oro);color:var(--oro);background:rgba(230,184,119,.06)}

/* ── Tarjetas y superficies ──────────────────────────── */
.cm-onepage .etiqueta{color:var(--ambar)}
.cm-onepage .encabezado-seccion h2,
.cm-onepage h2,.cm-onepage h3,.cm-onepage h4{color:var(--crema)}
.cm-onepage em,.cm-onepage .acento{color:var(--oro)}
.cm-onepage .plomo{color:var(--humo)}

.cm-onepage .cifras{background:rgba(230,184,119,.14);border-color:rgba(230,184,119,.14)}
.cm-onepage .cifra{background:rgba(23,16,8,.82)}
.cm-onepage .cifra strong{color:var(--oro)}
.cm-onepage .cifra span{color:var(--humo)}

.cm-onepage .orador,
.cm-onepage .descarga,
.cm-onepage .pestana,
.cm-onepage .logo-sponsor,
.cm-onepage .contacto-rapido a,
.cm-onepage .tabla-envoltura,
.cm-onepage .panel{background:rgba(23,16,8,.85);border-color:rgba(230,184,119,.13)}
.cm-onepage .descarga:hover,
.cm-onepage .logo-sponsor:hover,
.cm-onepage .contacto-rapido a:hover{border-color:rgba(230,184,119,.4)}
.cm-onepage .orador__rol{color:var(--ambar)}
.cm-onepage .orador__mas{
  color:var(--crema);background:rgba(244,234,217,.07);border-color:rgba(230,184,119,.4);
}
.cm-onepage .orador__mas:hover{
  color:var(--negro);background:linear-gradient(135deg,#F0CD9B,var(--ambar));
  border-color:transparent;
  box-shadow:0 10px 26px -10px rgba(201,142,78,.8);
}
.cm-onepage .orador__mas:focus-visible{outline-color:var(--oro)}
.cm-onepage .orador__bio::after{background:linear-gradient(transparent, #1a1209)}
.cm-onepage .orador__bio{color:var(--humo)}
.cm-onepage .orador__participa li{color:var(--oro)}
.cm-onepage .orador__participa li::before{background:var(--ambar)}
.cm-onepage .avatar{--hue:0;background:linear-gradient(145deg,#3a2610,#1a1006)}
.cm-onepage .avatar__ini{color:var(--oro)}

.cm-onepage .descarga__icono{background:rgba(230,184,119,.12);color:var(--oro)}
.cm-onepage .descarga--kids .descarga__icono{background:rgba(217,116,78,.14);color:var(--coral)}
.cm-onepage .descarga--sponsor .descarga__icono{background:rgba(138,90,43,.22);color:var(--oro)}
.cm-onepage .descarga__pie{color:var(--oro)}
.cm-onepage .insignia-estado{background:rgba(230,184,119,.1);color:var(--humo)}

.cm-onepage .pestana strong{color:var(--crema)}
.cm-onepage .pestana:hover{border-color:var(--ambar)}
.cm-onepage .pestana.activa{
  background:linear-gradient(135deg,var(--ambar),var(--marron));border-color:var(--ambar);
  box-shadow:0 14px 34px -14px rgba(201,142,78,.75);
}
.cm-onepage .bloque__hora,.cm-onepage .bloque__cuerpo h4{color:var(--crema)}
.cm-onepage .bloque__linea{background:rgba(230,184,119,.16)}
.cm-onepage .dia .bloque:first-of-type .bloque__linea{background:linear-gradient(transparent,rgba(230,184,119,.16) 26px)}
.cm-onepage .dia .bloque:last-child .bloque__linea{background:linear-gradient(rgba(230,184,119,.16),transparent 65%)}
.cm-onepage .bloque__linea i{background:rgba(230,184,119,.35);box-shadow:0 0 0 4px var(--negro)}
.cm-onepage .bloque--plenaria .bloque__linea i{background:var(--ambar);box-shadow:0 0 0 4px var(--negro),0 0 0 7px rgba(201,142,78,.25)}
.cm-onepage .bloque--taller .bloque__linea i{background:var(--oro);box-shadow:0 0 0 4px var(--negro),0 0 0 7px rgba(230,184,119,.22)}
.cm-onepage .bloque--apertura .bloque__linea i{background:var(--coral)}
.cm-onepage .bloque__tipo{color:var(--oro);background:rgba(230,184,119,.12)}
.cm-onepage .bloque--taller .bloque__tipo{color:var(--ambar);background:rgba(138,90,43,.25)}
.cm-onepage .bloque__texto{color:var(--oro)}
.cm-onepage .bloque__desc{color:var(--humo)}
.cm-onepage .mini{background:rgba(230,184,119,.07);border-color:rgba(230,184,119,.16);color:var(--crema)}
.cm-onepage .dia__encabezado{border-bottom-color:rgba(230,184,119,.14);color:var(--humo)}
.cm-onepage .dia__aviso{background:rgba(217,116,78,.1);border-color:rgba(217,116,78,.3);color:#e9a184}

.cm-onepage .tabla-general th{background:rgba(230,184,119,.07);color:var(--oro);border-bottom-color:rgba(230,184,119,.18)}
.cm-onepage .tabla-general td{border-bottom-color:rgba(230,184,119,.1);color:var(--humo)}
.cm-onepage .tabla-general td:first-child,
.cm-onepage .tabla-general strong{color:var(--crema)}

.cm-onepage .logo-sponsor__texto{color:var(--crema)}
.cm-onepage .logo-sponsor--provisorio{border-color:rgba(230,184,119,.22);background:transparent}
.cm-onepage .logo-sponsor--provisorio:hover{border-color:rgba(230,184,119,.35)}
.cm-onepage .logo-sponsor img{filter:grayscale(1) brightness(1.6);opacity:.55}
.cm-onepage .logo-sponsor:hover img{filter:none;opacity:1}

.cm-onepage .cita-grande{background:linear-gradient(135deg,rgba(36,22,5,.9),rgba(11,7,4,.95));border:1px solid rgba(230,184,119,.14)}
.cm-onepage .cita-grande::before{color:rgba(230,184,119,.12)}
.cm-onepage .cita-grande cite{color:var(--oro)}
.cm-onepage .contacto-rapido i{background:rgba(230,184,119,.12);color:var(--oro)}
.cm-onepage .contacto-rapido strong{color:var(--crema)}
.cm-onepage .contacto-rapido span{color:var(--humo)}

/* ── Formulario ──────────────────────────────────────── */
.cm-onepage .inscripcion__caja{background:rgba(23,16,8,.92);border:1px solid rgba(230,184,119,.16);color:var(--crema)}
.cm-onepage .inscripcion__caja h3{color:var(--crema)}
.cm-onepage .campo label{color:var(--humo)}
.cm-onepage .campo input,
.cm-onepage .campo textarea,
.cm-onepage .campo select{
  background:rgba(11,7,4,.6);border-color:rgba(230,184,119,.2);color:var(--crema);
}
.cm-onepage .campo input::placeholder,
.cm-onepage .campo textarea::placeholder{color:rgba(157,138,114,.75)}
.cm-onepage .campo input:focus,
.cm-onepage .campo textarea:focus,
.cm-onepage .campo select:focus{
  border-color:var(--ambar);box-shadow:0 0 0 4px rgba(201,142,78,.16);
}
.cm-onepage .opcion{border-color:rgba(230,184,119,.2)}
.cm-onepage .opcion:hover{border-color:var(--ambar);background:rgba(201,142,78,.06)}
.cm-onepage .opcion b{color:var(--crema)}
.cm-onepage .opcion span{color:var(--humo)}
.cm-onepage .opcion input{accent-color:var(--ambar)}
.cm-onepage .inscripcion__lista b{background:rgba(230,184,119,.14);color:var(--oro)}
.cm-onepage .form-nota{color:var(--humo)}

/* ── Marquesina, progreso y pie ──────────────────────── */
.cm-onepage .marquesina{background:linear-gradient(90deg,var(--marron),var(--ambar));color:#fff}
.cm-onepage .progreso{background:linear-gradient(90deg,var(--marron),var(--ambar),var(--oro))}
.cm-onepage .cm-pie{background:rgba(11,7,4,.96);border-top:1px solid rgba(230,184,119,.12)}
.cm-onepage .cm-pie h4{color:var(--oro)}
.cm-onepage .cm-pie a:hover{color:var(--oro)}
.cm-onepage .cm-pie__legal{border-top-color:rgba(230,184,119,.1)}
.cm-onepage .cm-kids-foto{background:#1a120a;border:1px solid rgba(230,184,119,.14)}
.cm-onepage .hero__cita{border-left-color:var(--coral);color:var(--humo)}
.cm-onepage .saltar{background:var(--ambar);color:var(--negro)}


@media (prefers-reduced-motion:reduce){
  #globo-fondo{opacity:.42}
}

/* =========================================================
   Portada: medallón de los 40 y lema
   ========================================================= */
.hero-cm__grid{
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
@media (max-width:900px){
  .hero-cm__grid{grid-template-columns:1fr;gap:2.5rem}
  .hero-cm__texto{order:2}
  .medalla{order:1;justify-self:start}
}

/* ── Medallón ────────────────────────────────────────── */
.medalla{
  position:relative;flex:none;
  width:clamp(200px,24vw,320px);aspect-ratio:1;
  display:grid;place-items:center;
  animation:medalla-entra 1.1s .2s cubic-bezier(.22,1,.36,1) both;
}
.medalla::before{
  content:"";position:absolute;inset:-14%;border-radius:50%;
  background:radial-gradient(circle, rgba(201,142,78,.28), transparent 66%);
  animation:medalla-latir 5.5s ease-in-out infinite;
}
.medalla__anillo{
  position:absolute;inset:0;width:100%;height:100%;
  animation:medalla-gira 26s linear infinite;
  transform-origin:50% 50%;
}
.medalla__borde{fill:none;stroke:var(--oro);stroke-width:1.2;opacity:.45}
.medalla__borde--fino{stroke-width:.9;opacity:.28}
.medalla__texto{
  font-family:var(--texto,"Inter",sans-serif);
  font-size:11px;font-weight:700;letter-spacing:.3em;
  text-transform:uppercase;fill:var(--oro);
}
.medalla__centro{
  position:relative;display:grid;place-items:center;line-height:1;text-align:center;
}
.medalla__centro b{
  display:block;font-family:var(--display,"Fraunces",serif);font-weight:400;
  font-size:clamp(4.6rem,9.5vw,7.6rem);line-height:.85;
  color:var(--crema);
  text-shadow:0 0 42px rgba(201,142,78,.55), 0 6px 24px rgba(0,0,0,.6);
}
.medalla__centro i{
  display:block;margin-top:.45rem;font-style:normal;
  font-size:.68rem;font-weight:700;letter-spacing:.42em;text-transform:uppercase;
  color:var(--oro);padding-left:.42em;
}

@keyframes medalla-gira{to{transform:rotate(360deg)}}
@keyframes medalla-latir{0%,100%{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}
@keyframes medalla-entra{from{opacity:0;transform:scale(.86) rotate(-12deg)}to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
  .medalla__anillo{animation:none}
  .medalla::before{animation:none}
  .medalla{animation:none}
}

/* ── Lema ────────────────────────────────────────────── */
.cm-lema{
  display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;
  margin:1.5rem 0 2rem;font-size:inherit;font-style:normal;color:inherit;
}
.cm-lema__fuerte{
  font-family:var(--display,"Fraunces",serif);font-style:italic;font-weight:400;
  font-size:clamp(2rem,1.1rem + 3.4vw,3.6rem);line-height:1.02;letter-spacing:-.02em;
  background:linear-gradient(96deg,#F4E3C4 0%,#E6B877 34%,#C98E4E 62%,#F0CD9B 100%);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:lema-brillo 9s ease-in-out infinite;
}
.cm-lema__regla{
  display:block;width:clamp(72px,12vw,132px);height:2px;margin:.35rem 0 .15rem;
  background:linear-gradient(90deg,var(--oro),rgba(230,184,119,0));
}
.cm-lema__eco{
  font-family:var(--texto,"Inter",sans-serif);
  font-size:clamp(.78rem,.7rem + .3vw,.95rem);font-weight:600;
  letter-spacing:.26em;text-transform:uppercase;color:rgba(244,234,217,.82);
}
.cm-lema__cita{
  font-family:var(--display,"Fraunces",serif);font-style:italic;
  font-size:.95rem;color:var(--ambar,#c98e4e);
}
@keyframes lema-brillo{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media (prefers-reduced-motion:reduce){.cm-lema__fuerte{animation:none}}

/* El título del congreso pierde peso frente al lema: lo compensamos */
.cm-onepage .hero--cm h1{
  font-size:clamp(2.1rem,1.4rem + 2.6vw,3.4rem);
  color:rgba(244,234,217,.92);margin:0 0 .3rem;max-width:20ch;
}
.cm-onepage .hero--cm h1 em{color:var(--oro);font-style:italic}

/* =========================================================
   Bloque «Cuarenta años»: texto + foto vintage flotante
   ========================================================= */
.congreso-grid{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(2.5rem,6vw,5rem);align-items:center;
}
@media (max-width:960px){
  .congreso-grid{grid-template-columns:1fr;gap:clamp(3rem,8vw,4rem)}
}

.foto-vintage{
  position:relative;margin:0;justify-self:center;
  width:min(100%,470px);
  animation:foto-flota 7s ease-in-out infinite;
}
/* Copia de papel apoyada debajo, girada al revés */
.foto-vintage::before{
  content:"";position:absolute;inset:6% 4% 12% 4%;
  background:#241a10;border:1px solid rgba(230,184,119,.14);
  border-radius:3px;transform:rotate(4deg);
  box-shadow:0 26px 60px -24px rgba(0,0,0,.9);
}
/* Resplandor ámbar detrás */
.foto-vintage::after{
  content:"";position:absolute;inset:-10%;z-index:-1;border-radius:50%;
  background:radial-gradient(circle, rgba(201,142,78,.22), transparent 68%);
  pointer-events:none;
}

.foto-vintage__marco{
  position:relative;
  padding:14px 14px 16px;
  background:linear-gradient(160deg,#F4EAD9,#DCCBAE);
  border-radius:3px;
  transform:rotate(-2.5deg);
  box-shadow:0 34px 70px -26px rgba(0,0,0,.95), 0 2px 0 rgba(255,255,255,.25) inset;
  transition:transform .6s cubic-bezier(.22,1,.36,1), box-shadow .6s;
}
.foto-vintage:hover .foto-vintage__marco{
  transform:rotate(-.6deg) scale(1.015);
  box-shadow:0 40px 84px -26px rgba(0,0,0,1);
}
.foto-vintage__marco img{
  display:block;width:100%;height:auto;aspect-ratio:1500/988;border-radius:1px;
  filter:sepia(.3) saturate(.82) contrast(1.06) brightness(.97);
  transition:filter .6s;
}
.foto-vintage:hover .foto-vintage__marco img{filter:sepia(.12) saturate(.95) contrast(1.03)}
/* Viñeta y trama de grano sobre la foto */
.foto-vintage__marco::after{
  content:"";position:absolute;inset:14px 14px 16px;pointer-events:none;border-radius:1px;
  background:
    radial-gradient(120% 100% at 50% 40%, transparent 52%, rgba(60,34,10,.30) 100%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 3px);
  mix-blend-mode:multiply;
}

.foto-vintage figcaption{
  margin-top:1.35rem;padding-left:.4rem;
  font-family:var(--display,"Fraunces",serif);font-style:italic;
  font-size:.98rem;line-height:1.5;color:var(--humo);
  transform:rotate(-1deg);
}
.foto-vintage figcaption em{color:var(--oro);font-style:italic}

@keyframes foto-flota{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-12px)}
}
@media (prefers-reduced-motion:reduce){
  .foto-vintage{animation:none}
}
@media (max-width:520px){
  .foto-vintage{width:min(100%,320px)}
  .foto-vintage::after{inset:-3%}
  .foto-vintage__marco{padding:10px 10px 12px}
  .foto-vintage__marco::after{inset:10px 10px 12px}
}


/* =========================================================
   Ficha del orador (modal)
   ========================================================= */
.ficha{
  position:fixed;inset:0;z-index:900;
  display:grid;place-items:center;padding:1.25rem;
  background:rgba(11,7,4,.8);backdrop-filter:blur(7px);
  opacity:0;transition:opacity .3s;
}
.ficha.abierta{opacity:1}
.ficha[hidden]{display:none}

.ficha__caja{
  position:relative;width:min(100%,680px);max-height:88vh;overflow-y:auto;
  overscroll-behavior:contain;
  background:var(--carbon,#171008);border:1px solid rgba(230,184,119,.18);
  border-radius:var(--radio);padding:clamp(1.75rem,4vw,2.6rem);
  box-shadow:0 50px 110px -34px rgba(0,0,0,1);
  transform:translateY(26px) scale(.97);
  transition:transform .42s cubic-bezier(.22,1,.36,1);
}
.ficha.abierta .ficha__caja{transform:none}

.ficha__cerrar{
  position:absolute;top:1rem;right:1rem;width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(230,184,119,.1);border:1px solid rgba(230,184,119,.2);
  color:var(--oro,#e6b877);cursor:pointer;
  transition:transform .35s, background .3s;
}
.ficha__cerrar svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.ficha__cerrar:hover{transform:rotate(90deg);background:rgba(230,184,119,.2)}
.ficha__cerrar:focus-visible{outline:2px solid var(--oro,#e6b877);outline-offset:2px}

.ficha__cuerpo{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(1.5rem,3.5vw,2.2rem);align-items:start}
@media (max-width:560px){
  .ficha__cuerpo{grid-template-columns:1fr;gap:1.25rem}
  .ficha__cerrar{top:.7rem;right:.7rem}
}
.ficha__retrato .avatar--ficha{width:clamp(120px,20vw,168px);height:clamp(120px,20vw,168px)}
.ficha__retrato .avatar--ficha .avatar__ini{font-size:2.8rem}

.ficha__rol{
  font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ambar,#c98e4e);
}
.ficha__texto h3{
  font-family:var(--display,"Fraunces",serif);font-weight:400;
  font-size:clamp(1.6rem,1.1rem + 1.6vw,2.3rem);line-height:1.12;
  color:var(--crema,#f4ead9);margin:.35rem 0 1rem;
}
.ficha__bio{font-size:.98rem;line-height:1.7;color:var(--humo,#9d8a72)}

.ficha__agenda{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid rgba(230,184,119,.14)}
.ficha__agenda h4{
  font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ambar,#c98e4e);margin-bottom:.9rem;
}
.ficha__agenda ul{display:grid;gap:.6rem;list-style:none;margin:0;padding:0}
.ficha__agenda li{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;
  padding:.75rem .95rem;border-radius:var(--radio-sm);
  background:rgba(230,184,119,.06);border:1px solid rgba(230,184,119,.12);
}
.ficha__agenda b{
  font-family:var(--display,"Fraunces",serif);font-weight:400;font-size:1.05rem;
  color:var(--crema,#f4ead9);
}
.ficha__agenda span{font-size:.82rem;color:var(--oro,#e6b877);font-variant-numeric:tabular-nums}

@media (prefers-reduced-motion:reduce){
  .ficha,.ficha__caja,.ficha__cerrar{transition:none}
}

/* Nota discreta para quienes sirven en lugares de acceso restringido */
.orador__nota,.ficha__nota{
  margin-top:.7rem;font-size:.76rem;line-height:1.5;font-style:italic;
  color:var(--humo,#9d8a72);
  padding-left:.7rem;border-left:2px solid rgba(230,184,119,.3);
}
.ficha__nota{margin-top:1rem;font-size:.85rem}

/* =========================================================
   Inscripción: un botón por grupo de edad
   Los cuatro colores vienen del logo de CMKids; adultos usa
   el oro del congreso.
   ========================================================= */
.grupos__titulo{
  font-family:var(--display,"Fraunces",serif);font-weight:400;
  font-size:clamp(1.25rem,1.05rem + .7vw,1.5rem);
  color:var(--crema,#f4ead9);line-height:1.2;
}
.grupos__ayuda{
  margin-top:.45rem;font-size:.86rem;color:var(--humo,#9d8a72);
}
.grupos{display:grid;gap:.75rem;margin-top:1.5rem}

.grupo{
  position:relative;display:flex;align-items:center;gap:1rem;
  padding:1rem 1.15rem 1rem 0;border-radius:var(--radio-sm);
  background:rgba(244,234,217,.05);
  border:1px solid rgba(230,184,119,.16);
  overflow:hidden;
  transition:background .3s, border-color .3s, transform .3s;
}
.grupo:hover{background:rgba(244,234,217,.09);border-color:rgba(230,184,119,.4);transform:translateX(3px)}
.grupo:focus-visible{outline:2px solid var(--oro,#e6b877);outline-offset:2px}

/* Franja de color a la izquierda: es lo que distingue cada grupo */
.grupo__barra{
  flex:none;width:6px;align-self:stretch;margin-right:.15rem;
  background:var(--tono);
  box-shadow:0 0 18px -2px var(--tono);
}
.grupo__texto{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}
.grupo__texto b{
  font-family:var(--display,"Fraunces",serif);font-weight:400;
  font-size:1.12rem;color:var(--crema,#f4ead9);line-height:1.2;
}
.grupo__texto span{
  font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tono);
}
.grupo__flecha{
  flex:none;width:15px;height:15px;margin-right:.15rem;
  fill:none;stroke:var(--tono);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
  opacity:.7;transition:transform .3s, opacity .3s;
}
.grupo:hover .grupo__flecha{transform:translateX(4px);opacity:1}

.grupo--oro{--tono:#E6B877}
.grupo--magenta{--tono:#FF4D8D}
.grupo--amarillo{--tono:#FFCC00}
.grupo--verde{--tono:#A8D84A}
.grupo--cian{--tono:#3FD8FF}

/* Adultos: es la puerta principal, va un poco más marcada */
.grupo--oro{background:rgba(230,184,119,.09);border-color:rgba(230,184,119,.3)}
.grupo--oro:hover{background:rgba(230,184,119,.15)}

.grupos__nota{
  margin-top:1rem;padding:.7rem .9rem;border-radius:var(--radio-sm);
  background:rgba(230,184,119,.07);border:1px solid rgba(230,184,119,.16);
  font-size:.78rem;line-height:1.5;color:var(--humo,#9d8a72);
}
.grupos__nota[hidden]{display:none}

@media (min-width:520px){
  .grupos{grid-template-columns:1fr 1fr}
  .grupo--oro{grid-column:1 / -1}
}
@media (prefers-reduced-motion:reduce){
  .grupo,.grupo__flecha{transition:none}
}

/* =========================================================
   Portada: el lema manda, el nombre del congreso acompaña
   ========================================================= */
.cm-onepage .hero--cm h1.cm-titulo{
  display:flex;flex-direction:column;align-items:flex-start;gap:0;
  max-width:none;margin:0 0 1.75rem;font-size:inherit;letter-spacing:normal;
}
.cm-titulo__marca{
  font-family:var(--texto,"Inter",sans-serif);
  font-size:clamp(.72rem,.66rem + .25vw,.86rem);font-weight:600;
  letter-spacing:.26em;text-transform:uppercase;
  color:var(--ambar,#c98e4e);margin-bottom:1.1rem;
}
.cm-titulo__lema{
  position:relative;
  font-family:var(--display,"Fraunces",serif);font-style:italic;font-weight:400;
  font-size:clamp(2.7rem,1.3rem + 5.6vw,5.6rem);
  line-height:.98;letter-spacing:-.028em;
  /* Una banda muy clara en medio del degradado: al desplazarse
     hace de reflejo cruzando las letras. */
  background:linear-gradient(100deg,
    #C98E4E 0%, #E6B877 24%, #F7E4C2 38%,
    #FFFFFF 46%, #F7E4C2 54%, #E6B877 70%, #C98E4E 100%);
  background-size:260% 100%;
  background-position:130% 50%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  filter:drop-shadow(0 10px 40px rgba(201,142,78,.3));
  animation:
    lema-entra   1.15s cubic-bezier(.22,1,.36,1) .15s both,
    lema-destello 7.5s cubic-bezier(.45,.05,.3,1) 1.5s infinite;
}
/* Resplandor que late detrás del lema */
.cm-titulo__lema::before{
  content:"";position:absolute;left:-6%;right:-6%;top:2%;bottom:6%;z-index:-1;
  border-radius:50%;pointer-events:none;
  background:radial-gradient(60% 70% at 40% 50%, rgba(201,142,78,.22), transparent 70%);
  animation:lema-halo 7.5s ease-in-out 1.5s infinite;
}

.cm-titulo__marca{animation:titulo-sube .9s cubic-bezier(.22,1,.36,1) both}
.cm-titulo__regla{
  display:block;width:clamp(90px,15vw,180px);height:2px;
  margin:1.35rem 0 1.1rem;transform-origin:0 50%;
  background:linear-gradient(90deg,var(--oro,#e6b877),rgba(230,184,119,0));
  animation:regla-crece 1s cubic-bezier(.22,1,.36,1) .75s both;
}
.cm-titulo__sub{
  font-family:var(--display,"Fraunces",serif);font-style:italic;font-weight:400;
  font-size:clamp(1.25rem,.95rem + 1.15vw,2.05rem);
  line-height:1.25;letter-spacing:-.01em;
  color:rgba(244,234,217,.88);
  animation:titulo-sube .95s cubic-bezier(.22,1,.36,1) .9s both;
}

/* El reflejo cruza rápido y después descansa */
@keyframes lema-destello{
  0%   {background-position:130% 50%}
  26%  {background-position:-30% 50%}
  100% {background-position:-30% 50%}
}
@keyframes lema-halo{
  0%,16%,100%{opacity:.5}
  8%{opacity:1}
}
@keyframes lema-entra{
  from{opacity:0;transform:translateY(18px);clip-path:inset(0 100% 0 0)}
  to  {opacity:1;transform:none;clip-path:inset(0 -6% 0 0)}
}
@keyframes titulo-sube{
  from{opacity:0;transform:translateY(14px)}
  to  {opacity:1;transform:none}
}
@keyframes regla-crece{
  from{transform:scaleX(0);opacity:0}
  to  {transform:scaleX(1);opacity:1}
}

@media (prefers-reduced-motion:reduce){
  .cm-titulo__lema,.cm-titulo__lema::before,
  .cm-titulo__marca,.cm-titulo__regla,.cm-titulo__sub{animation:none}
  .cm-titulo__lema{background-position:20% 50%;clip-path:none}
}

/* Sin cursor personalizado en el congreso: se usa el del sistema */
.cm-onepage,.cm-onepage *{cursor:auto}
.cm-onepage a,.cm-onepage button,.cm-onepage .pestana,
.cm-onepage label.opcion,.cm-onepage summary{cursor:pointer}
.cm-onepage .cursor-punto,.cm-onepage .cursor-anillo{display:none!important}

/* =========================================================
   AJUSTES PARA CELULAR
   La portada entraba en 1200 px sobre pantallas de 844, varios
   textos quedaban por debajo de 12 px y había enlaces de 16 px
   de alto, imposibles de tocar con el pulgar.
   ========================================================= */
@media (max-width:760px){

  /* ── Portada: entra en una pantalla ── */
  .cm-onepage .hero--cm{
    padding-top:5.5rem;padding-bottom:2.5rem;min-height:auto;
  }
  .hero-cm__grid{gap:1.5rem}
  .medalla{width:clamp(132px,38vw,170px)}
  .cm-onepage .hero--cm h1.cm-titulo{margin-bottom:1.15rem}
  .cm-titulo__marca{margin-bottom:.7rem;font-size:.76rem;letter-spacing:.2em}
  .cm-titulo__lema{font-size:clamp(2.4rem,10.5vw,3.4rem)}
  .cm-titulo__regla{margin:.9rem 0 .75rem}
  .cm-titulo__sub{font-size:clamp(1.15rem,4.6vw,1.4rem)}
  .cm-onepage .hero--cm .plomo{font-size:.95rem;line-height:1.55}
  .hero--cm .cuenta-regresiva{margin-top:1.5rem}
  .cuenta-regresiva div{padding:.95rem .35rem;min-width:0}
  .cuenta-regresiva span{font-size:.58rem;letter-spacing:.12em}
  .hero__datos{gap:.45rem;margin-top:1.15rem}
  .hero__datos span{font-size:.78rem;padding:.38rem .8rem}
  .hero__acciones{gap:.7rem;margin-top:1.6rem;width:100%}
  .hero__acciones .btn{flex:1;justify-content:center;min-height:48px}

  /* ── Nada de texto por debajo de 12 px ── */
  .etiqueta{font-size:.76rem;letter-spacing:.15em}
  .orador__rol,.ficha__rol{font-size:.74rem}
  .bloque__tipo{font-size:.72rem}
  .descarga__icono{font-size:.72rem}
  .insignia-estado{font-size:.7rem}
  .grupo__texto span{font-size:.74rem;letter-spacing:.11em}
  .dia__encabezado{font-size:.74rem;letter-spacing:.09em}
  .cifra span{font-size:.74rem}
  .pestana span{font-size:.74rem}
  .cm-pie h4{font-size:.76rem}
  .cm-pie__legal{font-size:.8rem}
  .grupos__nota{font-size:.82rem}
  .foto-vintage figcaption{font-size:.92rem}

  /* ── Todo lo que se toca, de 44 px para arriba ── */
  .orador__mas{min-height:46px;padding:.7rem 1.15rem}
  .grupo{padding-top:1.15rem;padding-bottom:1.15rem}
  .cm-pie li a,.cm-pie__social a{
    display:inline-flex;align-items:center;min-height:44px;
  }
  .cm-pie li{font-size:.95rem}
  .cm-pie li + li{margin-top:0}
  .cm-pie__social{gap:1.5rem}
  .contacto-rapido a{min-height:64px}
  .descarga{min-height:64px}
  .pestana{min-height:60px}
  .ficha__cerrar{width:46px;height:46px}

  /* ── Ritmo general: menos aire vertical ── */
  .bloque-pagina{padding-block:clamp(2.5rem,7vw,3.5rem)}
  .insignia{padding-block:clamp(3rem,10vw,4rem)}
  .marquesina span{font-size:1.05rem;gap:2.2rem}
  .marquesina__pista{gap:2.2rem}
  .oradores{gap:1rem}
  .orador{padding:1.35rem}

  /* ── El horario general se desliza: hay que avisarlo ── */
  .tabla-envoltura{position:relative;-webkit-overflow-scrolling:touch}
  #general .tabla-envoltura::after{
    content:"Deslizá para ver los tres días";
    position:sticky;left:0;display:block;
    padding:.6rem .9rem;font-size:.74rem;letter-spacing:.06em;
    color:var(--humo);background:rgba(230,184,119,.06);
    border-top:1px solid rgba(230,184,119,.12);
  }
}

@media (max-width:400px){
  .cuenta-regresiva strong{font-size:1.7rem}
  .grupos{grid-template-columns:1fr}
  .cifras{grid-template-columns:1fr 1fr}
  .cifras .cifra:last-child{grid-column:1 / -1}
}

/* El navegador de iOS agranda el texto al girar el teléfono */
html{-webkit-text-size-adjust:100%}

@media (max-width:760px){
  /* Últimos textos que quedaban por debajo del mínimo legible */
  .cuenta-regresiva span{font-size:.72rem}
  .tabla-general th{font-size:.72rem;padding:.85rem .9rem}
  .tabla-general td{font-size:.86rem}

  /* El correo dentro del párrafo: subrayado y con área para el pulgar */
  .inscripcion a[data-email-link]{
    display:inline-block;padding:.2rem 0;
    text-decoration:underline;text-underline-offset:3px;
  }
}

/* ═══════════════════════════════════════════════════
   Biografía extendida dentro de la ficha
   ─────────────────────────────────────────────────── */
.ficha__bio--entrada{
  font-size:1.02rem;line-height:1.65;color:var(--crema,#f4ead9);
  padding-bottom:1.1rem;margin-bottom:.2rem;
  border-bottom:1px solid rgba(230,184,119,.14);
}
.ficha__larga{margin-top:1.1rem}
.ficha__larga p{
  font-size:.94rem;line-height:1.78;color:var(--humo,#9d8a72);
  margin:0 0 .85rem;
}
.ficha__larga p:last-child{margin-bottom:0}
.ficha__larga-titulo{
  margin:1.5rem 0 .6rem;font-family:var(--tipo-titulo,inherit);
  font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--oro,#e6b877);font-weight:600;
  display:flex;align-items:center;gap:.7rem;
}
.ficha__larga-titulo::after{
  content:"";flex:1;height:1px;
  background:linear-gradient(90deg,rgba(230,184,119,.3),transparent);
}
.ficha__larga-titulo:first-child{margin-top:0}
.ficha__hitos{
  list-style:none;margin:.2rem 0 1.1rem;padding:0;display:grid;gap:.55rem;
}
.ficha__hitos li{
  padding:.7rem .9rem;border-radius:calc(var(--radio, 14px) * .55);
  background:rgba(230,184,119,.05);
  border-left:2px solid rgba(230,184,119,.35);
}
.ficha__hitos b{
  display:block;font-size:.86rem;color:var(--crema,#f4ead9);
  letter-spacing:.01em;margin-bottom:.15rem;
}
.ficha__hitos span{
  display:block;font-size:.85rem;line-height:1.6;color:var(--humo,#9d8a72);
}
@media (max-width:560px){
  .ficha__bio--entrada{font-size:.96rem}
  .ficha__larga p{font-size:.9rem}
  .ficha__larga-titulo{font-size:.7rem;letter-spacing:.13em}
}

/* Cita textual del orador dentro de la biografía */
.ficha__cita{
  margin:1.4rem 0 .4rem;padding:.1rem 0 .1rem 1.1rem;
  border-left:2px solid rgba(230,184,119,.4);
  font-style:italic;font-size:.95rem;line-height:1.75;
  color:var(--crema,#f4ead9);
}
.ficha__cita::before{content:"\201C"}
.ficha__cita::after{content:"\201D"}

/* ═══════════════════════════════════════════════════
   Avatar anónimo — expositores que no llevan rostro
   ─────────────────────────────────────────────────── */
.avatar--anonimo{
  display:grid;place-items:center;
  background:rgba(230,184,119,.06);
  border:1px solid rgba(230,184,119,.28);
}
.avatar--anonimo svg{
  width:46%;height:46%;
  fill:none;stroke:rgba(230,184,119,.72);
  stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;
}

/* ═══════════════════════════════════════════════════
   Compartir — flyer flotante y botones de difusión
   ─────────────────────────────────────────────────── */
.compartir{padding-block:clamp(4rem,9vw,7rem);overflow-x:hidden}
.compartir__grilla{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(2.5rem,6vw,5rem);align-items:center;
}

/* — el flyer — */
.compartir__flyer{margin:0;padding:0 clamp(.5rem,2vw,1.5rem);perspective:1400px}
.compartir__marco{
  position:relative;border-radius:10px;overflow:hidden;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.9), 0 0 0 1px rgba(230,184,119,.18);
  transform:rotateY(-9deg) rotateX(3deg) rotateZ(-1.2deg);
  transform-style:preserve-3d;
  transition:transform .8s cubic-bezier(.22,1,.36,1), box-shadow .8s;
  animation:flyer-flota 7s ease-in-out infinite;
}
.compartir__marco::after{           /* brillo que cruza el papel */
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,
    rgba(255,255,255,0) 38%,
    rgba(255,244,225,.16) 47%,
    rgba(255,255,255,0) 56%);
  background-size:280% 100%;background-position:130% 0;
  animation:flyer-brillo 7s cubic-bezier(.45,.05,.3,1) 1.2s infinite;
}
.compartir__marco img{display:block;width:100%;height:auto}
.compartir__flyer:hover .compartir__marco{
  transform:rotateY(-3deg) rotateX(1deg) rotateZ(0) translateY(-8px) scale(1.02);
  box-shadow:0 55px 110px -28px rgba(0,0,0,.95), 0 0 0 1px rgba(230,184,119,.34);
}
@keyframes flyer-flota{
  0%,100%{translate:0 0}
  50%{translate:0 -14px}
}
@keyframes flyer-brillo{
  0%{background-position:130% 0}
  30%{background-position:-40% 0}
  100%{background-position:-40% 0}
}

/* — los botones — */
.compartir__botones{
  display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem;
}
.compartir__boton{
  box-sizing:border-box;
  display:inline-flex;align-items:center;gap:.6rem;
  min-height:46px;padding:.7rem 1.15rem;border-radius:999px;line-height:1.25;
  background:rgba(230,184,119,.07);
  border:1px solid rgba(230,184,119,.24);
  color:var(--crema,#f4ead9);font-size:.92rem;font-weight:500;
  text-decoration:none;cursor:pointer;
  transition:background .3s, border-color .3s, transform .3s, color .3s;
}
.compartir__boton svg{
  width:19px;height:19px;flex:none;
  fill:none;stroke:var(--oro,#e6b877);stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;
  transition:stroke .3s;
}
.compartir__boton:hover{
  background:rgba(230,184,119,.16);border-color:rgba(230,184,119,.5);
  transform:translateY(-2px);color:#fff;
}
.compartir__boton:focus-visible{outline:2px solid var(--oro,#e6b877);outline-offset:3px}
.compartir__boton--principal{
  background:var(--oro,#e6b877);border-color:var(--oro,#e6b877);color:#170f06;font-weight:600;
}
.compartir__boton--principal svg{stroke:#170f06}
.compartir__boton--principal:hover{
  background:#f3d3a3;border-color:#f3d3a3;color:#170f06;
}
.compartir__boton--principal:hover svg{stroke:#170f06}

.compartir__aviso{
  margin:1rem 0 0;min-height:1.3em;
  font-size:.86rem;color:var(--oro,#e6b877);opacity:0;transition:opacity .3s;
}
.compartir__aviso.visible{opacity:1}

@media (max-width:900px){
  .compartir__grilla{grid-template-columns:1fr;gap:2.5rem}
  .compartir__flyer{max-width:340px;margin:0 auto;order:-1}
  .compartir__marco{transform:none;animation:none}
  .compartir__marco::after{animation:none;opacity:0}
  .compartir__flyer:hover .compartir__marco{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .compartir__marco,.compartir__marco::after{animation:none}
  .compartir__marco{transform:rotateY(-4deg)}
}

/* El halo del medallón se salía del ancho y dejaba una barra de scroll
   horizontal en escritorio. Se recorta sin afectar nada más. */
.hero.hero--cm{overflow-x:clip}

/* A ~1024 px las tarjetas de oradores se pasaban unos píxeles del ancho:
   el cuerpo flexible no achicaba. */
.orador__cuerpo{min-width:0}
.orador__participa li{overflow-wrap:anywhere}

/* El botón «Ver biografía completa» no achicaba por el white-space:nowrap
   y sobresalía en pantallas medianas. Ahora parte la línea si hace falta. */
.orador__mas{white-space:normal;max-width:100%;text-align:left}

/* ═══════════════════════════════════════════════════
   Formulario de inscripción embebido
   ─────────────────────────────────────────────────── */
.formulario{
  position:fixed;inset:0;z-index:120;
  display:grid;place-items:center;padding:clamp(.75rem,3vw,2rem);
  background:rgba(6,4,2,.86);backdrop-filter:blur(6px);
  opacity:0;transition:opacity .3s;
}
.formulario.abierta{opacity:1}
.formulario[hidden]{display:none}

.formulario__caja{
  position:relative;width:min(100%,720px);height:min(92vh,900px);
  display:flex;flex-direction:column;overflow:hidden;
  background:var(--carbon,#171008);
  border:1px solid rgba(230,184,119,.2);border-radius:var(--radio);
  box-shadow:0 50px 110px -34px rgba(0,0,0,1);
  transform:translateY(24px) scale(.98);
  transition:transform .42s cubic-bezier(.22,1,.36,1);
}
.formulario.abierta .formulario__caja{transform:none}

.formulario__cabecera{
  display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
  padding:1.1rem 1.25rem;border-bottom:1px solid rgba(230,184,119,.14);flex:none;
}
.formulario__etiqueta{
  margin:0 0 .2rem;font-size:.68rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--oro,#e6b877);
}
.formulario__cabecera h3{
  margin:0;font-family:var(--display,"Fraunces",serif);
  font-size:1.3rem;line-height:1.15;color:var(--crema,#f4ead9);
}
.formulario__cerrar{
  flex:none;width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(230,184,119,.1);border:1px solid rgba(230,184,119,.2);
  color:var(--oro,#e6b877);cursor:pointer;transition:transform .35s, background .3s;
}
.formulario__cerrar svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.formulario__cerrar:hover{transform:rotate(90deg);background:rgba(230,184,119,.2)}
.formulario__cerrar:focus-visible{outline:2px solid var(--oro,#e6b877);outline-offset:2px}

.formulario__marco{position:relative;flex:1;min-height:0;background:#f1f1f1}
.formulario__marco iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;
  opacity:0;transition:opacity .4s;
}
.formulario__marco iframe.listo{opacity:1}
.formulario__estado{
  position:absolute;inset:0;margin:0;display:grid;place-items:center;
  padding:2rem;text-align:center;font-size:.9rem;line-height:1.6;
  color:var(--humo,#9d8a72);background:var(--carbon,#171008);
}
.formulario__estado[hidden]{display:none}
.formulario__estado a{color:var(--oro,#e6b877)}

.formulario__pie{
  padding:.85rem 1.25rem;border-top:1px solid rgba(230,184,119,.14);
  text-align:right;flex:none;
}
.formulario__pie a{
  font-size:.85rem;color:var(--oro,#e6b877);text-decoration:none;
  border-bottom:1px solid rgba(230,184,119,.35);padding-bottom:1px;
}
.formulario__pie a:hover{color:#fff;border-color:#fff}

@media (max-width:640px){
  .formulario{padding:0}
  .formulario__caja{width:100%;height:100%;max-height:none;border-radius:0;border:0}
}
@media (prefers-reduced-motion:reduce){
  .formulario,.formulario__caja,.formulario__cerrar{transition:none}
}

/* ═══════════════════════════════════════════════════
   Flyer: se inclina siguiendo el mouse, y se amplía
   ─────────────────────────────────────────────────── */
.compartir__flyer{position:relative}

/* Con el mouse encima manda el JS; sin él, vuelve solo a su lugar. */
.compartir__flyer:hover .compartir__marco{
  box-shadow:0 55px 110px -28px rgba(0,0,0,.95), 0 0 0 1px rgba(230,184,119,.34);
}
.compartir__marco.siguiendo{transition:transform .12s ease-out}

.compartir__lupa{
  position:absolute;right:clamp(.25rem,2vw,1rem);bottom:.6rem;z-index:2;
  width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;cursor:pointer;
  background:rgba(11,7,4,.82);border:1px solid rgba(230,184,119,.4);
  backdrop-filter:blur(4px);
  transition:transform .3s, background .3s, border-color .3s;
}
.compartir__lupa svg{
  width:21px;height:21px;fill:none;stroke:var(--oro,#e6b877);
  stroke-width:1.8;stroke-linecap:round;
}
.compartir__lupa:hover{
  transform:scale(1.08);background:var(--oro,#e6b877);border-color:var(--oro,#e6b877);
}
.compartir__lupa:hover svg{stroke:#170f06}
.compartir__lupa:focus-visible{outline:2px solid var(--oro,#e6b877);outline-offset:3px}

/* — visor — */
.visor{
  position:fixed;inset:0;z-index:130;
  background:rgba(4,2,1,.94);
  opacity:0;transition:opacity .3s;
  overflow:auto;overscroll-behavior:contain;
  padding:clamp(1rem,4vw,2.5rem);
}
.visor.abierto{opacity:1}
.visor[hidden]{display:none}
.visor__lienzo{
  min-height:100%;display:grid;place-items:center;
}
.visor__lienzo img{
  max-width:min(100%,860px);height:auto;display:block;border-radius:6px;
  box-shadow:0 40px 90px -30px rgba(0,0,0,1);
  transform:scale(.96);opacity:0;
  transition:transform .45s cubic-bezier(.22,1,.36,1), opacity .45s;
}
.visor.abierto .visor__lienzo img{transform:none;opacity:1}
.visor__cerrar{
  position:fixed;top:clamp(.75rem,3vw,1.5rem);right:clamp(.75rem,3vw,1.5rem);z-index:2;
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  background:rgba(230,184,119,.12);border:1px solid rgba(230,184,119,.3);
  color:var(--oro,#e6b877);cursor:pointer;transition:transform .35s, background .3s;
}
.visor__cerrar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.visor__cerrar:hover{transform:rotate(90deg);background:rgba(230,184,119,.24)}
.visor__cerrar:focus-visible{outline:2px solid var(--oro,#e6b877);outline-offset:2px}

@media (prefers-reduced-motion:reduce){
  .compartir__marco.siguiendo{transition:none}
  .visor,.visor__lienzo img,.visor__cerrar,.compartir__lupa{transition:none}
}
