:root{
  --bg:#0a0806; --gold:#c9a24b; --gold-hi:#ecd08a; --gold-dim:rgba(201,162,75,.5);
  --line:rgba(201,162,75,.2); --text:#e9e0cc; --muted:#a39880;
  --serif:'Cinzel',Georgia,serif; --body:'Cormorant Garamond',Georgia,serif;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg)}
body{
  margin:0;min-height:100vh;color:var(--text);font-family:var(--body);font-size:1.15rem;line-height:1.55;
  background:
    radial-gradient(ellipse 70% 50% at 50% 28%,rgba(201,162,75,.10),transparent 70%),
    linear-gradient(rgba(10,8,6,.86),rgba(10,8,6,.95)),
    url("../../img/fondoss.webp") center top/cover no-repeat fixed;
  background-color:var(--bg);-webkit-font-smoothing:antialiased;
}
@media(max-width:768px){body{background-attachment:scroll}}
p,h1,ol{margin:0}
a{color:inherit;text-decoration:none}

.stage{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:36px 20px 24px}
.top,.bottom{width:min(900px,100%);display:flex;flex-direction:column;align-items:center;text-align:center}
.top{gap:14px}
.mid{flex:1;width:min(1120px,100%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 0 26px}
.bottom{gap:20px}
.top>*,.mid,.bottom{animation:rise .9s ease both}
.top>:nth-child(2){animation-delay:.08s}.top>:nth-child(3){animation-delay:.16s}.top>:nth-child(4){animation-delay:.24s}.mid{animation-delay:.3s}.bottom{animation-delay:.45s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.gold{background:linear-gradient(180deg,#f6e2a6 0%,#c9a24b 55%,#8d6c28 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

.emblem{width:84px;height:84px;filter:drop-shadow(0 0 14px rgba(201,162,75,.25))}
.title{font-family:var(--serif);font-weight:700;line-height:1.05;display:flex;flex-direction:column;align-items:center;gap:8px}
.title .gold{font-size:clamp(2.2rem,6.5vw,3.9rem);letter-spacing:.06em}
.title small{font-size:clamp(1rem,2.8vw,1.5rem);font-weight:500;letter-spacing:.5em;color:var(--gold);padding-left:.5em}
.title small::before,.title small::after{content:"";display:inline-block;width:clamp(24px,8vw,72px);height:1px;background:var(--gold-dim);vertical-align:middle;margin:0 .9em}
.tagline{font-size:clamp(1.3rem,3vw,1.7rem);font-style:italic;color:var(--gold-hi)}
.badge{font-family:var(--serif);font-size:.85rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-hi);border:1px solid var(--gold-dim);padding:9px 22px;background:rgba(201,162,75,.06)}
.lead{max-width:60ch;color:var(--muted);font-size:1.18rem}

/* Línea de tiempo de cuentas registradas (elemento principal) */
.label{font-family:var(--serif);font-size:.9rem;font-weight:600;letter-spacing:.38em;text-transform:uppercase;color:var(--gold)}
.num{font-family:var(--serif);font-weight:700;font-size:clamp(4rem,14vw,8rem);line-height:1.05;margin:4px 0 2px;font-variant-numeric:tabular-nums;transition:filter .5s ease}
.mid.bump .num{filter:drop-shadow(0 0 20px rgba(236,208,138,.75))}
.goal{font-style:italic;color:var(--muted);font-size:1.15rem;min-height:1.6em}

.track{--pad:70px;--node:32px;position:relative;width:100%;padding:0 var(--pad);margin:58px 0 76px}
.rail{position:absolute;left:calc(var(--pad) + var(--node)/2);right:calc(var(--pad) + var(--node)/2);top:50%;height:8px;transform:translateY(-50%);border-radius:8px;background:rgba(201,162,75,.16);box-shadow:inset 0 0 0 1px rgba(201,162,75,.12)}
.fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:8px;opacity:0;
  background:linear-gradient(90deg,#8d6c28,#d9b45a 60%,#f6e2a6);
  box-shadow:0 0 14px rgba(236,208,138,.85),0 0 34px rgba(201,162,75,.55);
  transition:width 1.8s cubic-bezier(.22,.8,.28,1),opacity .8s ease}
.mid.ready .fill{opacity:1}
@keyframes sweep{from{background-position:140% 0}to{background-position:-40% 0}}

.hitos{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;position:relative}
.hitos li{position:relative;width:var(--node);height:var(--node)}
.node{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(201,162,75,.38);background:var(--bg);transition:background .6s ease,border-color .6s ease,box-shadow .6s ease}
.m{position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%);white-space:nowrap;text-align:center;line-height:1.2}
.m b{display:block;font-family:var(--serif);font-size:1.2rem;font-weight:700;letter-spacing:.06em;color:var(--muted);transition:color .6s ease}
.m i{display:block;font-style:normal;font-family:var(--serif);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(163,152,128,.6);margin-top:3px}
.hitos li.reached .node{background:var(--gold-hi);border-color:var(--gold-hi);box-shadow:0 0 0 4px rgba(201,162,75,.2),0 0 20px rgba(236,208,138,.7)}
.hitos li.reached .m b{color:var(--gold-hi)}
.hitos li.goal-next .node{border-color:var(--gold-hi);animation:ring 2.8s ease-in-out infinite}
.hitos li.goal-next .m b{color:var(--gold)}
@keyframes ring{0%,100%{box-shadow:0 0 0 3px rgba(201,162,75,.12)}50%{box-shadow:0 0 0 7px rgba(201,162,75,.28),0 0 22px rgba(236,208,138,.45)}}

.lead{max-width:60ch;color:var(--muted);font-size:1.15rem}

/* Botones */
.cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:12px}
.btn{font-family:var(--serif);font-size:.88rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:16px 34px;border:1px solid var(--gold);transition:transform .25s ease,filter .25s ease,background .25s ease,color .25s ease}
.btn--gold{background:linear-gradient(180deg,#dbb85f,#a8812f);color:#1b1306}
a.btn--gold:hover{filter:brightness(1.12);transform:translateY(-1px)}
.btn--ghost{color:var(--gold-hi);border-color:var(--gold-dim);background:transparent}
.btn--ghost:hover{background:rgba(201,162,75,.1);border-color:var(--gold)}
.btn--off{opacity:.5;cursor:default}
a:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}

.foot{font-size:.9rem;color:rgba(163,152,128,.7);text-align:center;padding-top:36px}

/* Celular */
@media(max-width:760px){
  .track{--pad:26px;--node:24px;margin:48px 0 64px}
  .rail{height:6px}
  .fill::after{width:20px;height:20px;right:-10px}
  .m b{font-size:.95rem}
  .m i{font-size:.54rem;letter-spacing:.14em}
  .cta{flex-direction:column;align-items:stretch;width:100%;max-width:360px}
  .btn{text-align:center;padding:16px 20px}
  .title small::before,.title small::after{display:none}
  .stage{padding-top:28px}
}
@media(prefers-reduced-motion:reduce){
  .top>*,.mid,.bottom,.fill::before,.fill::after,.hitos li.goal-next .node{animation:none}
  *{transition-duration:.001ms!important}
}

/* ---------- Menú de registro (ventana modal) ---------- */
button.btn{appearance:none;-webkit-appearance:none;cursor:pointer;line-height:1.2}
button.btn:disabled{opacity:.55;cursor:wait}
.modal{border:1px solid var(--gold-dim);background:#0d0a07;color:var(--text);padding:0;width:min(460px,calc(100% - 28px));max-height:calc(100vh - 28px);overflow:auto;box-shadow:0 0 70px rgba(201,162,75,.16)}
.modal::backdrop{background:rgba(5,4,3,.84)}
.modal__in{position:relative;padding:30px 28px 26px}
.modal h2{font-family:var(--serif);font-size:1.3rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-align:center;color:var(--gold-hi);margin:0 0 2px}
.modal .sub{text-align:center;color:var(--muted);font-size:1.05rem;margin:0 0 20px}
.x{position:absolute;top:8px;right:12px;background:none;border:0;color:var(--muted);font-size:1.8rem;line-height:1;cursor:pointer;padding:4px 8px}
.x:hover{color:var(--gold-hi)}
.fld{display:block;margin-bottom:14px}
.fld>span{display:block;font-family:var(--serif);font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.fld input{width:100%;padding:12px 14px;background:rgba(0,0,0,.45);border:1px solid var(--line);color:var(--text);font:inherit;font-size:1.05rem;border-radius:0}
.fld input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,75,.15)}
.hint{display:block;font-style:normal;font-size:.9rem;color:rgba(163,152,128,.8);margin-top:4px}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:.98rem;color:var(--muted);margin:4px 0 14px;line-height:1.4}
.chk input{margin-top:5px;accent-color:var(--gold);flex-shrink:0}
.chk a{color:var(--gold-hi);text-decoration:underline}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.msg{min-height:1.5em;margin:0 0 12px;text-align:center;font-size:1.02rem}
.msg.err{color:#f2927c}
.msg.ok{color:var(--gold-hi)}
.modal .btn{width:100%}

/* reCAPTCHA v2 */
.captcha{display:flex;justify-content:center;min-height:78px;margin:0 0 12px}
@media(max-width:420px){.modal__in{padding:26px 14px 22px}}
@media(max-width:400px){.modal{width:calc(100% - 20px)}.modal__in{padding:24px 8px 20px}}
@media(max-width:340px){.captcha>div{transform:scale(.85);transform-origin:center top;margin-bottom:-12px}}
.captcha>div{flex-shrink:0}

/* Botón superior: descargar cliente */
.topbar{width:min(1120px,100%);display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-bottom:6px;animation:rise .9s ease both}
.btn--dl{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;font-size:.78rem}
.btn--dl .ico{flex-shrink:0}
.btn--dl.btn--off{border-style:dashed}
.dl-note{font-style:italic;color:var(--muted);font-size:1rem}
a.btn--dl:hover{box-shadow:0 0 22px rgba(236,208,138,.35)}
@media(max-width:760px){.topbar{flex-direction:column;justify-content:center;gap:6px}}
@media(prefers-reduced-motion:reduce){.topbar{animation:none}}

/* ---------- Estado + botón de descarga ---------- */
.estado{display:flex;align-items:flex-start;justify-content:center;gap:18px;flex-wrap:wrap}
.estado .badge{margin-top:6px}
.dl{display:flex;flex-direction:column;align-items:center;gap:9px}
.btn--dl{position:relative;overflow:hidden;gap:10px;padding:14px 28px;font-size:.84rem;letter-spacing:.2em;animation:dlpulse 2.8s ease-in-out infinite}
a.btn--dl::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;transform:skewX(-20deg);
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);animation:dlshine 3.6s ease-in-out infinite}
@keyframes dlshine{0%,55%{left:-60%}100%{left:140%}}
@keyframes dlpulse{0%,100%{box-shadow:0 0 0 1px rgba(236,208,138,.25),0 0 14px rgba(236,208,138,.25)}50%{box-shadow:0 0 0 1px rgba(236,208,138,.55),0 0 32px rgba(236,208,138,.6)}}
.btn--dl.btn--off{opacity:1;background:rgba(201,162,75,.1);color:var(--gold-hi);border:1px solid var(--gold);cursor:default}
.dl-note{display:inline-flex;align-items:center;gap:9px;font-family:var(--serif);font-style:normal;font-size:.74rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-hi);text-shadow:0 0 14px rgba(236,208,138,.6)}
.dl-note::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold-hi);box-shadow:0 0 10px var(--gold-hi);animation:punto 1.8s ease-in-out infinite}
@keyframes punto{50%{opacity:.3}}
@media(max-width:760px){.estado{flex-direction:column;align-items:center;gap:14px}.estado .badge{margin-top:0}}
@media(prefers-reduced-motion:reduce){.btn--dl,a.btn--dl::after,.dl-note::before{animation:none}}

/* ---------- Videos del servidor (debajo del pie) ---------- */
.videos{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:46px 0 70px;border-top:1px solid var(--line)}
.videos h2{margin:0 0 28px;text-align:center;font-family:var(--serif);font-size:1.05rem;font-weight:600;letter-spacing:.36em;text-transform:uppercase;color:var(--gold)}
.vgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.vcell{margin:0}
.vid{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;overflow:hidden;cursor:pointer;color:var(--gold-hi);background:#0d0a07;border:1px solid var(--gold-dim);transition:border-color .3s ease,box-shadow .3s ease}
.vid img{width:100%;height:100%;object-fit:cover;opacity:.78;transition:opacity .3s ease,transform .6s ease}
.vid:hover,.vid:focus-visible{border-color:var(--gold-hi);box-shadow:0 0 26px rgba(236,208,138,.28)}
.vid:hover img{opacity:1;transform:scale(1.04)}
.vid .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.vid .play span{width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--gold-hi);background:rgba(10,8,6,.6);box-shadow:0 0 22px rgba(236,208,138,.35);transition:transform .3s ease,background .3s ease}
.vid .play svg{margin-left:4px}
.vid:hover .play span{transform:scale(1.1);background:rgba(201,162,75,.35)}
.vtitle{margin-top:10px;text-align:center;font-family:var(--serif);font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.vcell iframe{display:block;width:100%;aspect-ratio:16/9;border:1px solid var(--gold-hi);background:#000}
@media(max-width:900px){.vgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.vgrid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.vid img,.vid .play span{transition:none}}

/* ---------- Mensaje destacado de apoyo (barra de cuentas) ---------- */
.apoyo{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:14px;max-width:100%;margin:0 0 4px;padding:15px 30px;text-align:center;
  font-family:var(--serif);font-size:.92rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.5;color:var(--gold-hi);
  border:1px solid var(--gold);background:linear-gradient(90deg,rgba(201,162,75,.04),rgba(201,162,75,.22),rgba(201,162,75,.04));
  text-shadow:0 0 16px rgba(236,208,138,.6);box-shadow:0 0 30px rgba(201,162,75,.22),inset 0 0 24px rgba(201,162,75,.1);animation:apoyo 3.2s ease-in-out infinite}
.apoyo::after{content:"";position:absolute;top:0;left:-50%;width:30%;height:100%;transform:skewX(-20deg);background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);animation:apoyobrillo 4.2s ease-in-out infinite}
.apoyo .estrella{flex-shrink:0;animation:titila 2.4s ease-in-out infinite}
.apoyo .estrella:last-child{animation-delay:1.2s}
@keyframes apoyo{0%,100%{box-shadow:0 0 18px rgba(201,162,75,.15),inset 0 0 24px rgba(201,162,75,.08)}50%{box-shadow:0 0 38px rgba(236,208,138,.4),inset 0 0 28px rgba(201,162,75,.16)}}
@keyframes apoyobrillo{0%,60%{left:-50%}100%{left:130%}}
@keyframes titila{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}


/* =====================================================================
   V9: paleta más profesional (dorado + carmesí + marfil sobre gris carbón),
   barras con color propio y cometa sin cortes
   ===================================================================== */
:root{--bg:#0a0b10;--text:#ecebe6;--muted:#9c9ca7;--line:rgba(201,162,75,.18);--ivory:#f2eee3;--ivory-dim:#cdc8ba;--crimson:#d6403f;--crimson-hi:#ff7a6c}
body{background:radial-gradient(ellipse 60% 38% at 50% 10%,rgba(214,64,63,.10),transparent 70%),linear-gradient(rgba(9,10,15,.86),rgba(9,10,15,.95)),url("../img/fondoss.webp") center top/cover no-repeat fixed;background-color:var(--bg)}
@media(max-width:768px){body{background-attachment:scroll}}

.plata{background:linear-gradient(180deg,#fff 0%,#e4dece 46%,#a29a85 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 16px rgba(0,0,0,.55))}
.title small{color:var(--crimson-hi)}
.title small::before,.title small::after{background:rgba(214,64,63,.6)}
.emblem{filter:drop-shadow(0 0 18px rgba(214,64,63,.5))}
.tagline{color:var(--ivory-dim)}
.badge{color:var(--ivory);border-color:rgba(214,64,63,.65);background:rgba(214,64,63,.1)}
.lead{color:#a8a8b3}
.label{color:var(--ivory-dim)}
.ruta h2,.videos h2{color:var(--ivory-dim)}
.btn--ghost{color:var(--ivory);border-color:rgba(242,238,227,.35)}
.btn--ghost:hover{background:rgba(242,238,227,.08);border-color:var(--ivory)}

/* Botón de descarga en carmesí */
a.btn--dl{background:linear-gradient(180deg,#e5504f,#a81f28);color:#fff;border-color:#ff8b7d}
.btn--dl.btn--off{background:rgba(214,64,63,.12);color:#ffc4ba;border:1px solid var(--crimson)}
@keyframes dlpulse{0%,100%{box-shadow:0 0 0 1px rgba(255,122,108,.25),0 0 14px rgba(214,64,63,.3)}50%{box-shadow:0 0 0 1px rgba(255,122,108,.55),0 0 32px rgba(214,64,63,.65)}}
.dl-note{color:#ffc4ba;text-shadow:0 0 14px rgba(214,64,63,.7)}
.dl-note::before{background:var(--crimson-hi);box-shadow:0 0 10px var(--crimson-hi)}

/* Mensaje de apoyo */
.apoyo{color:var(--ivory);border-color:rgba(201,162,75,.7);background:linear-gradient(90deg,rgba(201,162,75,.03),rgba(201,162,75,.14),rgba(201,162,75,.03));text-shadow:0 0 14px rgba(0,0,0,.6)}
.apoyo .estrella{color:var(--gold-hi)}

/* Colores de cada barra (dorada = cuentas, roja = fechas) */
.track{--b1:#8d6c28;--b2:#d9b45a;--b3:#f6e2a6;--rail:201,162,75;--halo:236,208,138;--hot:255,176,60;--hot2:255,106,20;--punta:#fff3c4;--nodo:#f6e2a6}
.track--rojo{--b1:#6e1219;--b2:#c93c3e;--b3:#ff8a7a;--rail:214,64,63;--halo:255,110,96;--hot:255,92,72;--hot2:200,30,40;--punta:#ffe3dc;--nodo:#ff9a8c}
.rail{background:rgba(var(--rail),.16);box-shadow:inset 0 0 0 1px rgba(var(--rail),.14)}
.fill{background:linear-gradient(90deg,var(--b1),var(--b2) 60%,var(--b3));box-shadow:0 0 12px rgba(var(--halo),.8),0 0 28px rgba(var(--rail),.45)}
.track.ready .fill{opacity:1}
.node{border-color:rgba(var(--rail),.42)}
.hitos li.reached .node{background:var(--nodo);border-color:var(--nodo);box-shadow:0 0 0 4px rgba(var(--rail),.2),0 0 20px rgba(var(--halo),.7)}
.hitos li.reached .m b{color:var(--nodo)}

/* Brasa al final de la barra */
.fill::after{content:"";position:absolute;right:-12px;top:50%;width:24px;height:24px;transform:translateY(-50%);border-radius:50%;
  background:radial-gradient(circle,#fff 0%,var(--punta) 32%,rgb(var(--hot)) 68%,rgba(var(--hot2),0) 100%);
  box-shadow:0 0 12px 4px rgba(var(--hot),.75),0 0 30px 9px rgba(var(--hot2),.38);animation:brasa 2.2s ease-in-out infinite}
@keyframes brasa{0%,100%{transform:translateY(-50%) scale(.94);opacity:.92}50%{transform:translateY(-50%) scale(1.08);opacity:1}}

/* Cometa: aparece y se apaga suave en los extremos (máscara), sin recortes rectos */
.fx{position:absolute;left:0;right:0;top:-64px;bottom:-64px;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%)}
.comet{position:absolute;top:50%;left:0;width:0;height:0;will-change:left,opacity;animation:cometa 3.8s cubic-bezier(.5,.05,.5,.95) infinite}
.comet::before{content:"";position:absolute;right:0;top:-9px;width:var(--cola,160px);height:18px;transform-origin:right center;animation:llama .16s ease-in-out infinite alternate;
  background:radial-gradient(ellipse 100% 50% at 100% 50%,rgba(var(--hot),.95) 0%,rgba(var(--hot),.55) 30%,rgba(var(--hot2),.2) 60%,rgba(var(--hot2),0) 88%)}
.comet::after{content:"";position:absolute;right:-11px;top:-11px;width:22px;height:22px;border-radius:50%;
  background:radial-gradient(circle,#fff 0%,var(--punta) 32%,rgb(var(--hot)) 66%,rgba(var(--hot2),0) 100%);
  box-shadow:0 0 10px 3px rgba(var(--hot),.85),0 0 24px 7px rgba(var(--hot2),.45)}
@keyframes cometa{0%{left:0%;opacity:0}10%{opacity:1}88%{opacity:1}100%{left:100%;opacity:0}}
@keyframes llama{from{transform:scaleY(.8);opacity:.82}to{transform:scaleY(1.12);opacity:1}}

/* Hoja de ruta: barra roja con fechas */
.ruta{width:min(1120px,100%);padding:4px 0 28px;text-align:center;animation:rise .9s ease both;animation-delay:.4s}
.ruta h2{margin:0;font-family:var(--serif);font-size:1.05rem;font-weight:600;letter-spacing:.36em;text-transform:uppercase}
.ruta .track{margin:84px 0 76px}
.ruta__nota{margin:0;font-style:italic;color:var(--muted);font-size:1.08rem}
.track--rojo .rail{background:linear-gradient(90deg,rgba(var(--rail),.2) 50%,transparent 50%)}
.track--rojo .rail::after{content:"";position:absolute;left:50%;right:0;top:0;bottom:0;border-radius:0 8px 8px 0;background:repeating-linear-gradient(90deg,rgba(var(--rail),.6) 0 8px,transparent 8px 16px)}
.track--rojo.completa .rail{background:rgba(var(--rail),.2)}
.track--rojo.completa .rail::after{display:none}
.track--rojo .m{white-space:normal;width:max-content;max-width:150px}
.track--rojo .m b{font-size:1.1rem}
.track--rojo .m i{font-size:.64rem;letter-spacing:.2em}
.track--rojo .cuenta{position:absolute;left:50%;top:-58px;transform:translateX(-50%);margin:0;padding:9px 20px;font-family:var(--serif);font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;color:#fff;background:linear-gradient(180deg,#e5504f,#a81f28);border:1px solid #ff8b7d}
.track--rojo .cuenta::after{content:"";position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);border:8px solid transparent;border-top-color:#b3262d;border-bottom:0}
.track--rojo .cuenta.is-vivo{animation:latidoR 2.4s ease-in-out infinite}
@keyframes latidoR{0%,100%{box-shadow:0 0 0 rgba(214,64,63,0)}50%{box-shadow:0 0 24px rgba(255,100,88,.7)}}

@media(max-width:760px){
  .apoyo{font-size:.78rem;padding:14px 16px;gap:10px}
  .ruta .track{margin:78px 0 70px}
  .track--rojo .hitos li:first-child .m{left:0;transform:none;text-align:left}
  .track--rojo .hitos li:last-child .m{left:auto;right:0;transform:none;text-align:right}
  .track--rojo .m{max-width:104px}
  .track--rojo .m b{font-size:.92rem}
  .track--rojo .m i{font-size:.54rem;letter-spacing:.12em}
  .track--rojo .cuenta{font-size:.7rem;padding:8px 14px;top:-54px}
  .comet::before{height:14px;top:-7px}
  .comet::after{width:18px;height:18px;right:-9px;top:-9px}
  .fill::after{width:18px;height:18px;right:-9px}
}
@media(prefers-reduced-motion:reduce){.comet{display:none}.fill::after,.apoyo,.apoyo::after,.apoyo .estrella,.track--rojo .cuenta.is-vivo{animation:none}.ruta{animation:none}}

/* =====================================================================
   V10: pantallas grandes sin huecos, y botón REGISTRARME verde y flotante
   ===================================================================== */
/* El bloque completo se centra (ya no se estira dejando huecos enormes) */
.stage{justify-content:center;overflow-x:clip}
.mid{flex:none}
.ruta{animation-delay:.3s}
.mid{animation-delay:.45s}
.bottom{animation-delay:.6s}
.ruta .track{margin:80px 0 70px}
.mid{padding-top:18px}

/* Monitores grandes (2K, 4K, ultrawide) o navegador con zoom alejado: todo se agranda proporcionalmente */
@media(min-width:2200px){.stage,.videos{zoom:1.25}.stage{min-height:80vh}}
@media(min-width:3000px){.stage,.videos{zoom:1.6}.stage{min-height:62vh}}
@media(min-width:4200px){.stage,.videos{zoom:2.1}.stage{min-height:48vh}}

/* ---------- Botón REGISTRARME: verde, flotando, con efectos ---------- */
.cta{align-items:center;margin-bottom:14px}
.registro-wrap{position:relative}
.flota{--ox:1.28;position:relative;animation:flotar 3.4s ease-in-out infinite}
.registro-wrap:hover .flota{animation-play-state:paused}
.flota::before,.flota::after{content:"";position:absolute;inset:0;border:2px solid rgba(84,238,150,.75);pointer-events:none;animation:onda 2.8s ease-out infinite}
.flota::after{animation-delay:1.4s}
.btn--verde{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:17px 38px;font-size:.96rem;letter-spacing:.24em;color:#04200f;border:1px solid #a6f7cb;
  background:linear-gradient(180deg,#63f2a4 0%,#27ba6a 55%,#128a4a 100%);text-shadow:0 1px 0 rgba(255,255,255,.35);animation:brilloVerde 2.6s ease-in-out infinite;transition:transform .25s ease,filter .25s ease}
.btn--verde::after{content:"";position:absolute;top:0;left:-60%;width:38%;height:100%;transform:skewX(-20deg);background:linear-gradient(100deg,transparent,rgba(255,255,255,.7),transparent);animation:dlshine 3.2s ease-in-out infinite}
.btn--verde:hover{transform:scale(1.06);filter:brightness(1.1)}
.btn--verde:focus-visible{outline:2px solid #fff;outline-offset:4px}
.btn--verde .ico{flex-shrink:0}
.sombra{position:absolute;left:14%;right:14%;bottom:-24px;height:12px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(0,0,0,.65),transparent 70%);animation:sombra 3.4s ease-in-out infinite}
@keyframes flotar{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes sombra{0%,100%{transform:scaleX(1);opacity:.85}50%{transform:scaleX(.78);opacity:.45}}
@keyframes onda{0%{transform:scale(1);opacity:.7}100%{transform:scale(var(--ox),1.75);opacity:0}}
@keyframes brilloVerde{0%,100%{box-shadow:0 0 0 1px rgba(166,247,203,.3),0 0 18px rgba(46,214,125,.45)}50%{box-shadow:0 0 0 1px rgba(166,247,203,.65),0 0 40px rgba(46,214,125,.9)}}
@media(max-width:760px){.registro-wrap{width:100%}.flota{--ox:1.06}.btn--verde{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.flota,.flota::before,.flota::after,.btn--verde,.btn--verde::after,.sombra{animation:none}.flota::before,.flota::after{display:none}}
.ruta{margin-top:34px}
@media(max-width:760px){.ruta{margin-top:26px}}

/* =====================================================================
   V11: menos texto, contador debajo de la barra dorada, espacios reacomodados
   ===================================================================== */
.ruta{margin-top:30px;padding:0}
.ruta .track{margin:78px 0 66px}
.mid{padding:0 0 4px}
#contador .track{margin:30px 0 62px}
#contador .label{margin-top:0}
.num{font-size:clamp(3.6rem,11vw,6.4rem);margin:6px 0 24px}
.apoyo{margin:0 0 6px}
.bottom{margin-top:14px}
@media(max-width:760px){
  .ruta{margin-top:22px}
  .ruta .track{margin:72px 0 62px}
  #contador .track{margin:24px 0 56px}
  .num{margin:6px 0 20px}
}
/* aire entre barras y contador */
.ruta .track{margin-bottom:92px}
#contador .track{margin-bottom:92px}
@media(max-width:760px){.ruta .track{margin-bottom:84px}#contador .track{margin-bottom:80px}}
.cta{gap:30px}@media(max-width:760px){.cta{gap:28px}}
