/* Capa de diseño y movimiento · Somos Proyecto de Dios · 8 nov 2026
   Efectos aprobados: 00 secciones a la medida, 01 brillo, 02 presión con rebote,
   06 cascada, 07 titular por palabras, 09 foto en ventana, 10 filete dorado,
   11 cifra que cuenta, 12 cuenta regresiva, 13 tarjetas que se elevan,
   16 barra de progreso, 17 modalidades suaves.
   Todo respeta prefers-reduced-motion. Sin JavaScript, la página se ve completa. */

:root{
  --spring:cubic-bezier(.34,1.56,.64,1);
  --suave:cubic-bezier(.2,.8,.2,1);
  --verde-osc:#173725;
}

/* ---------- 00 · Secciones a la medida del contenido ---------- */
.institucional main > .sec,
.institucional-hero,
.editorial-seccion{min-block-size:auto}
.institucional main > .sec{padding-block:clamp(56px,8vw,104px)}
.editorial-seccion{padding-block:clamp(64px,9vw,128px)}
.institucional-hero-grid{padding-block:clamp(56px,8vw,112px)}

/* Detalle de fondo: anillos dorados del sello, muy tenues, en la primera sección de cada página interna */
/* Sin overflow:hidden: rompería la foto fija (sticky) de Fundadores */
.institucional .interior-ruta + .sec{position:relative;isolation:isolate}
.institucional .interior-ruta + .sec::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  width:min(50vw,640px);aspect-ratio:1;right:0;top:50%;transform:translateY(-50%);
  background:
    radial-gradient(circle,transparent 58%,rgba(197,154,70,.20) 58.3%,transparent 58.8%),
    radial-gradient(circle,transparent 66%,rgba(197,154,70,.14) 66.3%,transparent 66.7%),
    radial-gradient(circle,transparent 46%,rgba(197,154,70,.10) 46.3%,transparent 46.7%),
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.55),transparent 62%);
}
.institucional .interior-ruta + .sec .h2{font-size:clamp(36px,4.8vw,60px)}
.editorial-detalle{position:relative}
.editorial-reflexion{
  background:
    radial-gradient(ellipse at 88% 10%,rgba(57,116,70,.55),transparent 55%),
    radial-gradient(ellipse at 0% 100%,rgba(197,154,70,.12),transparent 50%),
    var(--verde-osc);
}

/* ---------- 10 · Filete dorado que se dibuja ---------- */
.filete{display:block;width:min(100%,360px);height:auto;margin:0 0 22px;overflow:visible}
.filete path,.filete circle{fill:none;stroke:var(--oro);stroke-width:1.4;stroke-linecap:round}
.editorial-reflexion .filete path,.editorial-reflexion .filete circle{stroke:var(--oro-claro)}
.filete-centro{margin-inline:auto}
.anim-lista .filete .l{stroke-dasharray:200;stroke-dashoffset:200;transition:stroke-dashoffset 1.3s var(--suave)}
.anim-lista .filete .c{stroke-dasharray:80;stroke-dashoffset:80;transition:stroke-dashoffset .9s .7s var(--suave)}
.anim-lista .filete.visible .l,.anim-lista .filete.visible .c{stroke-dashoffset:0}

/* ---------- 06 · Entrada en cascada ---------- */
.anim-lista .revelar{
  opacity:0;transform:translateY(28px);
  transition:opacity .8s var(--suave),transform .95s var(--suave);
  transition-delay:var(--retraso,0ms);
}
.anim-lista .revelar.visible{opacity:1;transform:none}

/* ---------- 07 · Titular palabra a palabra ---------- */
.palabras .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em}
.palabras .w>span{display:inline-block;animation:palabra .9s var(--suave) both;animation-delay:calc(120ms + var(--i)*65ms)}
@keyframes palabra{from{transform:translateY(108%)}}

/* ---------- 09 · Foto que se abre como ventana ---------- */
.anim-lista .ventana{clip-path:inset(100% 0 0 0 round 18px);transition:clip-path 1.25s var(--suave)}
.anim-lista .ventana img{transform:scale(1.14);transition:transform 1.7s var(--suave)}
.anim-lista .ventana.visible{clip-path:inset(0 0 0 0 round 18px)}
.anim-lista .ventana.visible img{transform:none}

/* ---------- 13 · Tarjetas que se elevan ---------- */
.card,.institucional-tarjetas a,.aporte-card{transition:transform .5s var(--spring),box-shadow .5s var(--suave),border-color .3s,background .3s}
@media (hover:hover){
  .card:hover{transform:translateY(-8px);box-shadow:0 24px 44px rgba(23,55,37,.13);border-color:var(--oro-claro)}
  .institucional-tarjetas a:hover{transform:translateY(-6px);box-shadow:0 20px 36px rgba(23,55,37,.12)}
  .institucional-tarjetas a span:last-child{transition:transform .4s var(--spring)}
  .institucional-tarjetas a:hover span:last-child{transform:translateX(6px)}
}

/* ---------- 01 + 02 · Donación: brillo y presión con rebote ---------- */
.donaciones-monto,.donaciones-accion,.btn-oro{position:relative;overflow:hidden;isolation:isolate}
.donaciones-monto::after,.donaciones-accion::after,.btn-oro::after{
  content:"";position:absolute;inset:-20% auto -20% -60%;width:45%;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.7),transparent);
  transform:skewX(-18deg);opacity:0;
}
@media (hover:hover){
  .donaciones-monto:hover::after,.donaciones-accion:not([disabled]):hover::after,.btn-oro:hover::after{opacity:1;animation:barrido .9s var(--suave)}
}
@keyframes barrido{from{transform:skewX(-18deg) translateX(0)}to{transform:skewX(-18deg) translateX(420%)}}
.donaciones-monto{transition:transform .45s var(--spring),background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),box-shadow .3s}
.donaciones-monto:active{transform:scale(.94);transition-duration:.08s}
.donaciones-monto[aria-pressed="true"]{transform:scale(1.04);box-shadow:0 10px 22px rgba(36,83,51,.22)}
.donaciones-accion:not([disabled]){animation:halo 2.8s ease-in-out infinite}
@keyframes halo{0%,100%{box-shadow:0 0 0 0 rgba(197,154,70,0)}50%{box-shadow:0 0 0 7px rgba(197,154,70,.22)}}
.aporte-card{position:relative;overflow:hidden}
.aporte-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--verde),var(--oro),var(--verde))}

/* ---------- 11 · Meta que cuenta ---------- */
.meta-cifra{display:grid;justify-items:center;gap:4px;text-align:center}
.meta-cifra strong{font-family:"Work Sans",system-ui,sans-serif;font-weight:300;font-size:clamp(38px,5vw,54px);line-height:1;color:var(--verde);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.meta-cifra span{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#8a6a2c;font-weight:600}
.meta-cifra small{font-size:13px;color:var(--gris)}

/* Contador real de inscritos (aparece solo con dato del servidor) */
.inscritos{display:grid;gap:8px;width:min(100%,300px);margin-top:14px;text-align:center}
.inscritos p{font-size:14px;color:var(--gris-2)}
.inscritos strong{font-size:20px;font-weight:600;color:var(--verde);font-variant-numeric:tabular-nums}
.inscritos-pista{position:relative;padding-top:40px}
.inscritos-barra{height:6px;border-radius:999px;background:rgba(36,83,51,.12);overflow:hidden}
.inscritos-barra span{display:block;height:100%;width:var(--p);border-radius:inherit;background:linear-gradient(90deg,var(--verde),var(--oro));animation:llena 1.8s var(--suave) both}
/* Manos orando en la punta: avanzan con la barra y crecen con el número de inscritos */
.manos{position:absolute;bottom:-6px;left:var(--p);width:44px;margin-left:-22px;text-align:center;font-size:36px;line-height:1;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  transform-origin:50% 100%;transform:scale(var(--s));animation:manos-avanza 1.8s var(--suave) both;filter:drop-shadow(0 3px 4px rgba(114,87,42,.35))}
@keyframes llena{from{width:0}}
@keyframes manos-avanza{from{left:0;transform:scale(.45)}}
@media (prefers-reduced-motion:no-preference){
  .inscritos-pista .manos{animation:manos-avanza 1.8s var(--suave) both,manos-respira 3.2s 2s ease-in-out infinite}
  @keyframes manos-respira{0%,100%{transform:scale(var(--s))}50%{transform:scale(calc(var(--s) * 1.08))}}
}

/* ---------- 12 · Cuenta regresiva ---------- */
.regresiva{display:grid;gap:10px;margin-top:30px;max-width:420px}
.regresiva-t{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#8a6a2c;font-weight:600}
.regresiva-n{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.regresiva-n div{background:var(--verde-osc);color:var(--crema);border-radius:12px;padding:12px 4px 10px;text-align:center;box-shadow:inset 0 0 0 1px rgba(226,192,122,.25)}
.regresiva-n b{display:block;font-family:"Work Sans",system-ui,sans-serif;font-weight:300;font-size:clamp(24px,3vw,32px);line-height:1;font-variant-numeric:tabular-nums}
.regresiva-n span{display:block;margin-top:6px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--oro-claro)}

/* Programa del 4 de diciembre: cada hora en su propia línea con aire */
#programa .lead{margin:14px 0 26px}
#programa .lead ~ p{padding:14px 0 14px 18px;border-left:2px solid var(--oro-claro);margin-top:10px;font-size:16.5px;line-height:1.55}
#programa .lead ~ p strong{color:var(--verde)}

/* ---------- 16 · Barra dorada de progreso ---------- */
.progreso-lectura{position:fixed;left:0;right:0;top:0;height:3px;z-index:60;pointer-events:none}
.progreso-lectura span{display:block;height:100%;background:linear-gradient(90deg,var(--oro),var(--oro-claro));transform-origin:left;transform:scaleX(0)}

/* ---------- 17 · Modalidades que se despliegan suave ---------- */
.acc-ico{transition:transform .45s var(--spring),background .25s}
.acc-panel:not([hidden]){animation:despliega .55s var(--suave) both}
.acc-panel:not([hidden]) > *{animation:sube-suave .55s .08s var(--suave) both}
@keyframes despliega{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes sube-suave{from{opacity:0;transform:translateY(-8px)}}

/* ---------- Botón fijo de registro en móvil (auditoría, punto 1) ---------- */
.registro-fijo{display:none}
@media (max-width:780px){
  .registro-fijo{
    display:flex;position:fixed;z-index:45;left:0;right:0;bottom:0;justify-content:center;
    padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));
    background:linear-gradient(to top,rgba(234,242,231,.98) 60%,rgba(234,242,231,0));
    transform:translateY(110%);transition:transform .45s var(--suave);
  }
  .registro-fijo.ver{transform:none}
  .registro-fijo .btn{width:100%;max-width:420px;padding:15px 24px}
}

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion:reduce){
  .anim-lista .revelar,.anim-lista .ventana,.anim-lista .ventana img{opacity:1;transform:none;clip-path:none;transition:none}
  .anim-lista .filete .l,.anim-lista .filete .c{stroke-dashoffset:0;transition:none}
  .manos,.inscritos-barra span,.palabras .w>span,.acc-panel:not([hidden]),.acc-panel:not([hidden]) > *,.donaciones-accion:not([disabled]){animation:none}
  .donaciones-monto::after,.donaciones-accion::after,.btn-oro::after{display:none}
  .card,.institucional-tarjetas a,.donaciones-monto,.registro-fijo{transition:none}
}

/* ---------- Fundadores: foto siempre a la vista; al bajar, la siguiente sube como una cortina ---------- */
.bio-portrait{opacity:1;z-index:1;clip-path:inset(100% 0 0 0);transform:scale(1.1);
  transition:clip-path .95s var(--suave) .95s,transform 1.6s var(--suave) .95s}
.bio-portrait.is-current{z-index:2;clip-path:inset(0 0 0 0);transform:scale(1);
  transition:clip-path .95s var(--suave),transform 1.6s var(--suave)}
.bio-portraits::after{content:"";position:absolute;inset:auto 0 0;height:3px;z-index:3;
  background:linear-gradient(90deg,var(--oro),var(--oro-claro));transform:scaleX(0);transform-origin:left}
.bio-portraits.cambia::after{animation:hilo-oro .95s var(--suave)}
@keyframes hilo-oro{0%{transform:scaleX(0)}60%{transform:scaleX(1)}100%{transform:scaleX(1);opacity:0}}
@media (prefers-reduced-motion:reduce){
  .bio-portrait{clip-path:none;transform:none;opacity:0;transition:none}
  .bio-portrait.is-current{opacity:1}
  .bio-portraits.cambia::after{animation:none}
}
/* En teléfonos la cabecera no es fija: la franja de la foto se pega arriba del todo para que no asome texto por encima */
@media (max-width:660px){.bio-sincronizada .bio-gallery{top:0;padding-top:calc(10px + env(safe-area-inset-top,0px))}}

/* ---------- Invitación "Cuéntanos tu proyecto" antes del pie, en todas las páginas institucionales ---------- */
.invitacion-proyecto{position:relative;overflow:hidden;padding-block:clamp(56px,8vw,96px);background:var(--crema);border-top:1px solid var(--oro)}
.invitacion-proyecto::before{content:"";position:absolute;pointer-events:none;width:min(70vw,560px);aspect-ratio:1;left:-12%;top:50%;transform:translateY(-50%);
  background:radial-gradient(circle,transparent 58%,rgba(197,154,70,.22) 58.3%,transparent 58.8%),radial-gradient(circle,transparent 68%,rgba(197,154,70,.14) 68.3%,transparent 68.7%)}
.invitacion-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,6vw,88px);align-items:center}
.invitacion-proyecto .h2{max-width:20ch}
.invitacion-cita{margin-top:18px;font:clamp(18px,2vw,22px)/1.4 Marcellus,Georgia,serif;color:#8a6a2c}
.invitacion-texto{display:grid;gap:18px;justify-items:start}
.invitacion-texto p{font-size:17px;line-height:1.65;color:var(--gris-2);max-width:40ch}
.invitacion-texto .invitacion-nota{font-size:13px;color:var(--gris)}
@media (max-width:740px){.invitacion-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- Volver arriba ---------- */
.volver-arriba{position:fixed;z-index:46;right:max(18px,calc(env(safe-area-inset-right,0px) + 14px));bottom:calc(22px + env(safe-area-inset-bottom,0px));
  width:52px;height:52px;border-radius:50%;border:0;padding:0;cursor:pointer;display:grid;place-items:center;
  background:conic-gradient(var(--oro) var(--avance,0deg),rgba(197,154,70,.25) 0);
  box-shadow:0 10px 24px rgba(23,55,37,.28);opacity:0;visibility:hidden;transform:translateY(14px) scale(.9);
  transition:opacity .35s var(--suave),transform .45s var(--spring),visibility .35s,bottom .45s var(--suave)}
.volver-arriba::before{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--verde-osc)}
.volver-arriba svg{position:relative;width:22px;height:22px;fill:none;stroke:var(--oro-claro);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--spring)}
.volver-arriba.ver{opacity:1;visibility:visible;transform:none}
.volver-arriba:hover svg{transform:translateY(-3px)}
.volver-arriba:focus-visible{outline:2px solid var(--oro);outline-offset:3px}
/* En la landing móvil sube por encima del botón fijo de registro */
@media (max-width:780px){.con-registro-fijo .volver-arriba{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
@media (prefers-reduced-motion:reduce){.volver-arriba,.volver-arriba svg{transition:none}}
/* Hora de la unión mundial convertida a la zona del visitante */
.hora-local{display:inline-block;margin-left:2px;padding:2px 10px;border-radius:999px;background:rgba(197,154,70,.16);color:#6d531f;font-size:.88em;font-weight:600;font-variant-numeric:tabular-nums}

/* Bloques de contenido con clase .top (alinear arriba en la rejilla): no deben heredar la cabecera fija */
main .wrap.grid.top{position:static;z-index:auto;background:transparent;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}

/* Horario único del Ayuno Universal · 11 nov 2026 */
.regresiva-centro{margin:0 auto 26px;max-width:420px}
.regresiva:empty{display:none}
.horario-marco{max-width:620px;margin:26px auto;padding:3px;border-radius:22px;background:linear-gradient(135deg,#F3D58A,#C79A3E 50%,#8E6A22);box-shadow:0 18px 44px rgba(14,35,71,.22)}
.horario-caja{border-radius:19px;padding:30px 24px 26px;background:radial-gradient(120% 90% at 50% 0%,#1C3A6E 0%,#0E2347 100%);color:#fff;text-align:center}
.horario-caja p{margin:0}
.horario-dia{font-size:13px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:#F3D58A}
.horario-fecha{margin-top:6px!important;font-family:Marcellus,Georgia,"Times New Roman",serif;font-size:clamp(38px,8vw,56px);line-height:1.05;color:#F3D58A;background:linear-gradient(180deg,#F3D58A,#C79A3E 70%,#8E6A22);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.horario-anio{margin-top:6px!important;font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.horario-franja{display:grid;grid-template-columns:1fr 1fr;margin:24px 0 20px;border-radius:14px;background:#FFFDF6;color:#0E2347}
.horario-zona{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 12px;text-align:left}
.horario-zona+.horario-zona{border-left:2px solid #C79A3E}
.horario-bandera{flex:0 0 52px;width:52px;height:52px}
.horario-hora{font-family:Marcellus,Georgia,"Times New Roman",serif;font-size:clamp(24px,5vw,30px);line-height:1.05;color:#0E2347;font-variant-numeric:tabular-nums}
.horario-lugar{margin-top:4px!important;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#6b6f78}
.horario-nota{font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.92);max-width:30em;margin:0 auto!important}
.horario-nota strong{color:#F3D58A;font-weight:600}
.horario-local{display:inline-block;margin-top:16px!important;padding:6px 14px;border-radius:999px;background:rgba(243,213,138,.14);border:1px solid rgba(243,213,138,.35);color:#F3D58A;font-size:14px;font-weight:600}
.horario-local[hidden]{display:none}
@media (max-width:420px){
  .horario-caja{padding:26px 16px 22px}
  .horario-franja{grid-template-columns:1fr}
  .horario-zona+.horario-zona{border-left:0;border-top:2px solid #C79A3E}
}

/* TikTok provisional · 11 nov 2026 */
.tiktok-caja{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;max-width:620px;margin:22px auto;padding:16px 18px;border-radius:16px;background:#0E2347;color:#fff;border:1px solid rgba(243,213,138,.45);text-align:left}
.tiktok-caja::after{content:"";position:absolute;inset:-40% auto -40% -30%;width:40%;background:linear-gradient(100deg,transparent,rgba(243,213,138,.22),transparent);transform:skewX(-18deg);animation:tiktok-brillo 4.5s ease-in-out infinite;pointer-events:none}
@keyframes tiktok-brillo{0%,55%{left:-40%}100%{left:130%}}
.tiktok-icono{color:#F3D58A;flex:none}
.tiktok-texto{margin:0;font-size:15.5px;line-height:1.5;color:rgba(255,255,255,.9)}
.tiktok-texto strong{color:#F3D58A}
.tiktok-btn{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid rgba(243,213,138,.6);color:#F3D58A;font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap}
.tiktok-btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;pointer-events:none}
.inscritos-simulado{margin-top:6px;font-size:12px;color:#8a6a2c;font-style:italic}
@media (max-width:520px){.tiktok-caja{grid-template-columns:auto 1fr}.tiktok-btn{grid-column:1 / -1;justify-content:center}}
@media (prefers-reduced-motion:reduce){.tiktok-caja::after{animation:none;display:none}}

/* Hero unificado de la landing · 11 nov 2026: registro (izquierda) y apoyo con ebook (derecha); en móvil, registro primero */
.hero-doble{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:6px}
.hero-card{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:18px;background:#fff;border:1px solid var(--borde-2);box-shadow:0 12px 30px rgba(36,83,51,.10);text-decoration:none;color:inherit}
.hero-card-eyebrow{display:block;font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#8a6a2c}
.hero-card-titulo{display:block;font-family:Marcellus,Georgia,serif;font-size:22px;line-height:1.2;color:var(--verde)}
.hero-card-texto{display:block;font-size:14.5px;line-height:1.55;color:#5b6158}
.hero-registro .btn{margin-top:auto;align-self:flex-start;padding:14px 26px}
.hero-apoyo{flex-direction:row;align-items:center;gap:14px;background:radial-gradient(120% 90% at 50% 0%,#1C3A6E 0%,#0E2347 100%);border-color:#C79A3E}
.hero-apoyo img{flex:0 0 70px;width:70px;height:auto;border-radius:3px 6px 6px 3px;box-shadow:0 8px 18px rgba(0,0,0,.4)}
.hero-apoyo .hero-card-eyebrow{color:#F3D58A}
.hero-apoyo .hero-card-titulo{color:#fff;text-decoration:underline;text-decoration-color:rgba(243,213,138,.6);text-underline-offset:4px}
.hero-apoyo .hero-card-texto{color:rgba(255,255,255,.82)}
.hero-apoyo:hover .hero-card-titulo{color:#F3D58A}
.hero-apoyo:focus-visible{outline:2px solid #C79A3E;outline-offset:3px}
.hero-regresiva{margin-top:22px}
@media (max-width:620px){.hero-doble{grid-template-columns:minmax(0,1fr)}}

/* Registro + apoyo unidos (landing) · 12 nov 2026 */
.registro-apoyo-cabecera{max-width:760px;margin-bottom:28px}
.registro-apoyo-cabecera .h2{margin-bottom:16px}
.registro-apoyo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.aporte-ebook{border:1px solid #C79A3E}
.aporte-ebook-cabecera{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.aporte-ebook-cabecera img{flex:0 0 78px;width:78px;height:auto;border-radius:3px 6px 6px 3px;box-shadow:0 8px 18px rgba(14,35,71,.25)}
.aporte-ebook-titulo{font-size:26px;line-height:1.2;margin:4px 0 6px}
.aporte-ebook-texto{font-size:15px;line-height:1.55;color:#4a4f46}
.aporte-ebook-texto a{text-decoration:underline}
.aporte-legal{margin-top:14px}
.hero-apoyo-btn{margin-top:10px;align-self:flex-start;padding:12px 22px !important;font-size:16.5px;min-width:180px;justify-content:center;text-align:center}
.hero-apoyo .hero-card-titulo{text-decoration:underline}
@media (max-width:860px){.registro-apoyo-grid{grid-template-columns:minmax(0,1fr)}}

.apoyo-donar.aporte-ebook{margin:0 0 40px;padding:clamp(20px,3vw,32px)}
.apoyo-donar.aporte-ebook .aporte-legal{grid-column:1/-1;margin-top:0}
/* Caja del ebook en apoyo.html: portada mayor, lista y centrado vertical · 12 nov 2026 */
.apoyo-donar.aporte-ebook{align-items:center}
.apoyo-donar .aporte-ebook-cabecera{flex-direction:column;align-items:center;text-align:center;margin-bottom:0}
.apoyo-donar .aporte-ebook-cabecera img{flex:0 0 auto;width:160px}
.aporte-ebook-lista{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px;text-align:left}
.aporte-ebook-lista li{position:relative;padding-left:24px;font-size:15px;line-height:1.5;color:#3f463d}
.aporte-ebook-lista li::before{content:"";position:absolute;left:4px;top:.55em;width:8px;height:8px;border-radius:50%;background:#C79A3E}
.aporte-ebook-lista a{text-decoration:underline;color:inherit;font-weight:600}
@media (max-width:740px){.apoyo-donar .aporte-ebook-cabecera img{width:130px}}

/* Hero de la landing compacto: registro y apoyo visibles en la primera pantalla · 12 nov 2026 */
.hero-compacto .wrap.hero-compacto-grid{padding-top:26px;padding-bottom:30px;grid-template-columns:minmax(200px,.62fr) minmax(320px,1.38fr);align-items:center;gap:clamp(24px,4vw,56px)}
.hero-col-emblema{display:flex;flex-direction:column;align-items:center;gap:10px}
.hero-emblema{width:auto;max-width:100%;height:auto;max-height:300px;border-radius:16px;box-shadow:0 16px 36px rgba(36,83,51,.16)}
.hero-compacto .meta-cifra strong{font-size:clamp(34px,3.6vw,52px)}
.hero-compacto .pill{margin-bottom:10px}
.hero-titulo{font-size:clamp(28px,3.1vw,46px);line-height:1.1;margin-bottom:10px}
.hero-compacto .cita{margin:8px 0 0;font-size:clamp(16px,1.35vw,19px)}
.hero-horario{font-size:16.5px;line-height:1.5;color:#4a4f46;max-width:36em;margin:12px 0 4px}
.hero-extra{font-size:14.5px;line-height:1.5;color:#64695F;max-width:38em;margin:0 0 16px}
.hero-compacto .hero-doble{align-items:stretch}
.hero-compacto .hero-card{padding:16px 18px;gap:6px}
.hero-compacto .hero-card-titulo{font-size:20px}
.hero-compacto .hero-card-texto{font-size:14px;line-height:1.45}
.hero-compacto .hero-registro .btn{padding:12px 22px}
.hero-compacto .hero-regresiva{margin-top:16px}
@media (max-width:860px){
  .hero-compacto .wrap.hero-compacto-grid{grid-template-columns:minmax(0,1fr);padding-top:20px;gap:24px}
  .hero-compacto .hero-col-emblema{order:2}
  .hero-compacto .cita,.hero-compacto .hero-extra{display:none}
  .hero-titulo{font-size:clamp(26px,7.4vw,34px)}
  .hero-horario{font-size:15px;margin-top:8px}
  .hero-emblema{max-height:240px}
}

/* Botón «Capítulo 1 gratis» en la caja del ebook · 12 nov 2026 */
.ebook-cap1-btn{margin-top:14px;gap:8px;padding:11px 20px !important;font-size:15px;background:#fff;color:var(--verde);border:1.5px solid #C79A3E;box-shadow:0 8px 18px rgba(197,154,70,.18)}
.ebook-cap1-btn:hover,.ebook-cap1-btn:focus-visible{background:#fffaf0;color:var(--verde)}
.ebook-cap1-btn svg{flex:none;color:#C79A3E}
/* Botón flotante del ebook */
.ebook-flotante{position:fixed;z-index:900;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));padding:14px 24px !important;font-size:16px;box-shadow:0 14px 34px rgba(14,35,71,.28)}
body.con-flotante{padding-bottom:96px}
body.con-flotante .volver-arriba{bottom:calc(96px + env(safe-area-inset-bottom)) !important}
html.popup-abierto .ebook-flotante{display:none}
@media (max-width:760px){
  .ebook-flotante{left:5%;right:5%;width:90%;bottom:calc(14px + env(safe-area-inset-bottom));justify-content:center}
  body.con-flotante{padding-bottom:88px}
  body.con-flotante .volver-arriba{bottom:calc(84px + env(safe-area-inset-bottom)) !important}
}
.ebook-flotante.cta-brillo.cta-brillo.cta-brillo{position:fixed}

/* #registro v2: dos columnas desde arriba; caja de apoyo compacta con franja navy · 12 nov 2026 */
.registro-v2 .registro-v2-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start;padding-top:28px;padding-bottom:40px}
.registro-v2 .eyebrow{margin-bottom:6px}
.registro-v2-titulo{font-size:clamp(26px,2.6vw,36px) !important;line-height:1.12;margin-bottom:10px}
.registro-v2-linea{font-size:15px;line-height:1.5;color:#4a4f46;margin-bottom:12px}
.registro-v2-linea a{text-decoration:underline}
.registro-v2-datos{padding:10px 14px;border-left:3px solid #C79A3E;background:#fff;border-radius:0 10px 10px 0;margin-bottom:14px;display:grid;gap:4px}
.registro-v2-datos p{margin:0;font-size:13.5px;line-height:1.45;color:#4a4f46}
.registro-v2-datos strong{color:var(--verde)}
.aporte-v2{padding:0 !important;overflow:hidden;border:1px solid #C79A3E}
.aporte-v2::before{display:none}
.aporte-franja{padding:14px 18px 12px;background:radial-gradient(120% 140% at 50% 0%,#1C3A6E 0%,#0E2347 100%);border-bottom:2px solid #C79A3E;text-align:center}
.aporte-franja-titulo{margin:0;display:flex;align-items:center;justify-content:center;gap:10px;font-family:Marcellus,Georgia,serif;font-size:clamp(26px,2.5vw,33px);line-height:1.1}
.aporte-franja-icono{color:#F3D58A;flex:none}
.aporte-titulo-brillo{background:linear-gradient(110deg,#C79A3E 0%,#F3D58A 35%,#fffbe8 50%,#F3D58A 65%,#C79A3E 100%);background-size:260% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#F3D58A;-webkit-animation:titulo-brillo 3.5s ease-in-out infinite;animation:titulo-brillo 3.5s ease-in-out infinite}
@-webkit-keyframes titulo-brillo{0%{background-position:100% 0}60%,100%{background-position:0 0}}
@keyframes titulo-brillo{0%{background-position:100% 0}60%,100%{background-position:0 0}}
.aporte-franja-sub{margin:4px 0 0;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#f7efd9}
.aporte-ebook-fila{display:flex;gap:14px;align-items:center;padding:12px 18px 4px}
.aporte-ebook-fila img{flex:0 0 90px;width:90px;height:auto;border-radius:3px 6px 6px 3px;box-shadow:0 8px 18px rgba(14,35,71,.25)}
.aporte-v2 .aporte-ebook-lista{margin:0;gap:4px}
.aporte-v2 .aporte-ebook-lista li{font-size:13.5px}
.aporte-v2 .ebook-cap1-btn{margin-top:8px;padding:8px 14px !important;font-size:13.5px}
.aporte-v2 .donaciones{margin:8px 18px 0;padding:12px 14px;gap:8px}
.aporte-v2 .donaciones .field{margin:0}
.aporte-v2 .donaciones-monto{padding-top:9px;padding-bottom:9px}
.aporte-v2 .donaciones-accion{padding-top:12px !important;padding-bottom:12px !important}
.aporte-v2 .donaciones .nota,.aporte-v2 .aporte-legal{font-size:11.5px;line-height:1.45}
.aporte-v2 .aporte-legal{margin:8px 18px 14px}
@media (max-width:860px){.registro-v2 .registro-v2-grid{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.aporte-titulo-brillo{-webkit-animation:none;animation:none;background-position:50% 0}}
/* html ya aplica scroll-padding-top:88px; con 40 px más el título queda justo bajo la cabecera fija (~143 px) */
#registro.registro-v2{scroll-margin-top:40px}
@media (max-width:1060px){#registro.registro-v2{scroll-margin-top:0}}
