:root { --bg:#02040a; --cyan:#22e6ff; --red:#ff2a2a; --secondary-color:#f43c3c; --font-main:'Outfit',sans-serif; --font-mono:'Share Tech Mono',monospace; }
*{margin:0;padding:0;box-sizing:border-box}
html,body{background:var(--bg);color:#fff;font-family:var(--font-main),system-ui,sans-serif}

.hero{position:relative;width:100%;height:100vh;height:100svh;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-end{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.06);transition:opacity 1.2s ease,transform 6s ease-out}
.hero.done .hero-end{opacity:1;transform:scale(1)}
.hero-shade{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(0,0,0,.15) 0%,rgba(0,0,0,.65) 100%);opacity:0;transition:opacity 1s ease}
.hero-scan{position:absolute;inset:0;pointer-events:none;opacity:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 3px);mix-blend-mode:overlay;transition:opacity 1s ease}
.hero.done .hero-shade,.hero.done .hero-scan{opacity:1}

.hero-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:0 16px}
.hero-logo{position:relative;width:min(82vw,1100px);height:auto;opacity:0;visibility:hidden;
  filter:drop-shadow(0 0 24px rgba(34,230,255,.45))}
.hero.done .hero-logo{visibility:visible;animation:logoIn 1.6s cubic-bezier(.2,.8,.2,1) forwards, glow 3.5s ease-in-out 1.6s infinite}

/* Entrada: zoom desde lejos + desenfoque + cortes glitch RGB, luego asienta */
@keyframes logoIn{
  0%   {opacity:0;transform:scale(1.6);filter:blur(24px) drop-shadow(0 0 0 transparent)}
  25%  {opacity:1;transform:scale(1.12) translateX(-14px);filter:blur(5px) hue-rotate(60deg);clip-path:inset(10% 0 55% 0)}
  35%  {transform:scale(1.08) translateX(18px);filter:blur(2px) hue-rotate(-60deg);clip-path:inset(55% 0 8% 0)}
  45%  {transform:scale(1.04) translateX(-8px);filter:blur(0) hue-rotate(30deg);clip-path:inset(0 0 0 0)}
  55%  {transform:scale(1.02) translateX(6px);clip-path:inset(30% 0 40% 0);filter:hue-rotate(-20deg)}
  65%  {transform:scale(1.01) translateX(0);clip-path:inset(0 0 0 0);filter:none}
  100% {opacity:1;transform:scale(1);filter:drop-shadow(0 0 24px rgba(34,230,255,.45));clip-path:inset(0 0 0 0)}
}
@keyframes glow{
  0%,100%{filter:drop-shadow(0 0 18px rgba(34,230,255,.35))}
  50%{filter:drop-shadow(0 0 38px rgba(34,230,255,.7)) drop-shadow(0 0 12px rgba(255,42,42,.35))}
}
@media (prefers-reduced-motion:reduce){
  .hero.done .hero-logo{animation:none;opacity:1}
}

/* Countdown (mismo estilo que la web principal) */
.countdown-container{display:inline-flex;justify-content:center;align-items:center;gap:1rem;font-family:var(--font-mono);
  background:rgba(0,0,0,.4);padding:1rem 2rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(4px);
  opacity:0;transform:translateY(16px);visibility:hidden}
.hero.done .countdown-container{visibility:visible;animation:cdIn .9s ease 1.3s forwards}
@keyframes cdIn{to{opacity:1;transform:none}}
.time-box{display:flex;flex-direction:column;align-items:center}
.time-box span{font-size:3rem;font-weight:700;color:var(--secondary-color);text-shadow:0 0 15px rgba(244,60,60,.5)}
.time-box label{font-size:.8rem;color:#fff}
.separator{font-size:3rem;color:#fff;margin-top:-1.5rem}
@media (max-width:600px){
  .countdown-container{gap:.5rem;padding:.75rem 1rem}
  .time-box span,.separator{font-size:2rem}
  .time-box label{font-size:.65rem}
}

/* Botón CFP (destacado) */
.btn-cfp{position:relative;display:inline-flex;align-items:center;gap:.7rem;font-family:var(--font-mono);font-size:1.35rem;font-weight:700;
  letter-spacing:.12em;color:#fff;background:linear-gradient(135deg,#ff2a2a,#c4141f);border:2px solid #ff6b6b;padding:1.1rem 2.6rem;border-radius:6px;cursor:pointer;
  text-shadow:0 0 8px rgba(0,0,0,.6);box-shadow:0 0 28px rgba(255,42,42,.7),0 0 60px rgba(255,42,42,.35),inset 0 0 14px rgba(255,255,255,.18);
  opacity:0;visibility:hidden;transition:transform .2s,box-shadow .2s,filter .2s}
.btn-cfp-icon{color:#fff;background:rgba(0,0,0,.35);padding:.1rem .5rem;border-radius:3px}
.hero.done .btn-cfp{visibility:visible;animation:cdIn .9s ease 1.8s forwards,cfpPulse 2s ease-in-out 2.8s infinite}
@keyframes cfpPulse{0%,100%{box-shadow:0 0 28px rgba(255,42,42,.7),0 0 60px rgba(255,42,42,.35),inset 0 0 14px rgba(255,255,255,.18)}
  50%{box-shadow:0 0 44px rgba(255,42,42,1),0 0 100px rgba(255,42,42,.6),inset 0 0 18px rgba(255,255,255,.3)}}
.btn-cfp:hover,.btn-cfp:focus-visible{transform:translateY(-3px) scale(1.04);filter:brightness(1.15);outline:none}

/* Saltar intro */
.btn-skip{position:absolute;z-index:3;right:24px;bottom:24px;font-family:var(--font-mono);font-size:.95rem;letter-spacing:.12em;color:#fff;
  background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.4);padding:.7rem 1.3rem;border-radius:4px;cursor:pointer;backdrop-filter:blur(4px);
  transition:background .2s,border-color .2s,opacity .5s}
.btn-skip:hover,.btn-skip:focus-visible{background:rgba(34,230,255,.2);border-color:var(--cyan);outline:none}
.hero.done .btn-skip{opacity:0;pointer-events:none;visibility:hidden}

/* Popup CFP */
.cfp-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}
.cfp-modal[hidden]{display:none}
.cfp-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(20,6,12,.85),rgba(0,0,0,.94));backdrop-filter:blur(8px);animation:fade .25s ease}
.cfp-panel{position:relative;width:min(980px,100%);max-height:94vh;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(160deg,#080b18,#04050c 60%,#0a0610);
  border:1px solid rgba(34,230,255,.35);border-radius:6px;
  box-shadow:0 0 0 1px rgba(255,42,42,.25),0 0 70px rgba(34,230,255,.2),0 0 120px rgba(255,42,42,.15);animation:pop .35s cubic-bezier(.2,.8,.2,1)}
.cfp-panel::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px),
  linear-gradient(rgba(34,230,255,.05) 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,rgba(34,230,255,.05) 1px,transparent 1px) 0 0/48px 48px}
.cfp-corner{position:absolute;width:18px;height:18px;z-index:3;border:2px solid var(--secondary-color);pointer-events:none}
.cfp-corner.tl{top:0;left:0;border-right:0;border-bottom:0}.cfp-corner.tr{top:0;right:0;border-left:0;border-bottom:0}
.cfp-corner.bl{bottom:0;left:0;border-right:0;border-top:0}.cfp-corner.br{bottom:0;right:0;border-left:0;border-top:0}

.cfp-bar{flex:none;position:relative;z-index:2;display:flex;align-items:center;gap:1rem;padding:.65rem 1rem;background:rgba(10,14,28,.95);border-bottom:1px solid rgba(34,230,255,.25);font-family:var(--font-mono)}
.cfp-dots{display:flex;gap:6px}.cfp-dots i{width:10px;height:10px;border-radius:50%;background:#ff5f56}.cfp-dots i:nth-child(2){background:#ffbd2e}.cfp-dots i:nth-child(3){background:#27c93f}
.cfp-path{flex:1;font-size:.85rem;color:var(--cyan);letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfp-close{background:none;border:1px solid rgba(255,255,255,.25);color:#fff;width:30px;height:30px;border-radius:3px;font-size:1.3rem;line-height:1;cursor:pointer;transition:.2s}
.cfp-close:hover,.cfp-close:focus-visible{background:var(--secondary-color);border-color:var(--secondary-color);outline:none}

.cfp-body{position:relative;z-index:1;padding:2.2rem 2rem 1.6rem;overflow-x:hidden;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(244,60,60,.6) transparent}
.cfp-body::-webkit-scrollbar{width:6px}.cfp-body::-webkit-scrollbar-thumb{background:rgba(244,60,60,.6);border-radius:3px}
.cfp-kicker{font-family:var(--font-mono);color:var(--cyan);font-size:.9rem;letter-spacing:.25em;text-shadow:0 0 10px rgba(34,230,255,.6)}
.cfp-heading{position:relative;display:inline-block;font-size:clamp(1.7rem,5vw,3rem);font-weight:900;letter-spacing:.02em;margin:.4rem 0 .6rem;color:#fff;text-shadow:0 0 22px rgba(255,255,255,.25)}
.cfp-heading::before,.cfp-heading::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;opacity:.8}
.cfp-heading::before{color:var(--cyan);clip-path:inset(0 0 55% 0);animation:glitchA 3.2s infinite steps(1)}
.cfp-heading::after{color:var(--red);clip-path:inset(55% 0 0 0);animation:glitchB 2.7s infinite steps(1)}
@keyframes glitchA{0%,90%,100%{transform:translate(0)}92%{transform:translate(-4px,1px)}95%{transform:translate(3px,-1px)}}
@keyframes glitchB{0%,86%,100%{transform:translate(0)}88%{transform:translate(4px,-1px)}93%{transform:translate(-3px,1px)}}
.cfp-sub{color:#b8bdd6;margin-bottom:1.8rem;font-size:1.05rem}
.cfp-deadline{display:inline-block;margin-left:.4rem;font-family:var(--font-mono);font-size:.85rem;color:#fff;background:rgba(244,60,60,.2);border:1px solid var(--secondary-color);padding:.1rem .6rem;border-radius:3px}

.cfp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.cfp-card{--a:#22e6ff;--ar:34,230,255;position:relative;display:flex;flex-direction:column;gap:.7rem;padding:1.5rem 1.3rem 1.2rem;text-decoration:none;color:#fff;overflow:hidden;
  background:linear-gradient(180deg,rgba(var(--ar),.09),rgba(255,255,255,.02));border:1px solid rgba(var(--ar),.35);
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px));
  opacity:0;animation:cardIn .6s cubic-bezier(.2,.8,.2,1) forwards;transition:transform .25s,background .25s,border-color .25s}
.cfp-card:nth-child(1){animation-delay:.15s}.cfp-card:nth-child(2){animation-delay:.3s}.cfp-card:nth-child(3){animation-delay:.45s}
.cfp-card.c-red{--a:#ff4a4a;--ar:255,74,74}.cfp-card.c-violet{--a:#b36bff;--ar:179,107,255}
.cfp-card::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--a);box-shadow:0 0 16px var(--a)}
.cfp-card::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(var(--ar),.25),transparent);transform:skewX(-20deg);transition:left .7s}
.cfp-card:hover,.cfp-card:focus-visible{transform:translateY(-6px);background:linear-gradient(180deg,rgba(var(--ar),.2),rgba(var(--ar),.04));border-color:var(--a);outline:none}
.cfp-card:hover::after,.cfp-card:focus-visible::after{left:130%}
.cfp-num{position:absolute;top:.6rem;right:1.8rem;font-family:var(--font-mono);font-size:2.6rem;font-weight:700;color:rgba(var(--ar),.18);line-height:1}
.cfp-ico{width:46px;height:46px;color:var(--a);filter:drop-shadow(0 0 8px var(--a));padding:9px;border:1px solid rgba(var(--ar),.5);border-radius:6px;background:rgba(var(--ar),.1)}
.cfp-card-title{font-family:var(--font-mono);font-size:1.45rem;font-weight:700;letter-spacing:.06em;color:var(--a);text-shadow:0 0 14px rgba(var(--ar),.6);margin-top:.3rem}
.cfp-card-desc{font-size:.98rem;color:#cfd3e6;line-height:1.45;flex:1}
.cfp-status{display:inline-flex;align-items:center;gap:.45rem;width:max-content;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.15em;color:#27ff7a;background:rgba(39,255,122,.1);border:1px solid rgba(39,255,122,.4);padding:.15rem .6rem;border-radius:20px}
.cfp-status i{width:7px;height:7px;border-radius:50%;background:#27ff7a;box-shadow:0 0 8px #27ff7a;animation:blink 1.4s infinite}
.cfp-card-meta{font-family:var(--font-mono);font-size:.82rem;color:#9aa0c0}.cfp-card-meta b{color:#fff;font-weight:400;margin-right:.3rem}
.cfp-go{display:flex;justify-content:space-between;align-items:center;margin-top:.4rem;padding:.75rem 1rem;font-family:var(--font-mono);font-size:.9rem;letter-spacing:.1em;font-weight:700;color:#fff;background:rgba(var(--ar),.2);border:1px solid var(--a);transition:.25s}
.cfp-go em{font-style:normal;transition:transform .25s}
.cfp-card:hover .cfp-go,.cfp-card:focus-visible .cfp-go{background:var(--a);color:#000;box-shadow:0 0 22px rgba(var(--ar),.7)}
.cfp-card:hover .cfp-go em{transform:translateX(5px)}

.cfp-foot{margin-top:1.6rem;font-family:var(--font-mono);font-size:.8rem;color:#6f7596;letter-spacing:.06em}
.cfp-cursor{color:var(--cyan);animation:blink 1s steps(1) infinite}
body.modal-open{overflow:hidden}
@keyframes fade{from{opacity:0}}
@keyframes pop{from{opacity:0;transform:translateY(24px) scale(.96)}}
@keyframes cardIn{from{opacity:0;filter:blur(6px)}to{opacity:1;filter:none}}
@keyframes blink{50%{opacity:.25}}

/* Contador llamativo (sobrescribe el estilo base) */
.countdown-container{position:relative;gap:.6rem;padding:1.1rem 1.6rem;background:rgba(4,6,14,.72);border:1px solid rgba(244,60,60,.7);border-radius:6px;
  box-shadow:0 0 30px rgba(244,60,60,.4),inset 0 0 24px rgba(244,60,60,.12)}
.cd-cipher{position:absolute;top:-.75rem;left:50%;transform:translateX(-50%);white-space:nowrap;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.14em;
  color:#fff;background:var(--secondary-color);padding:.12rem .8rem;border-radius:3px;box-shadow:0 0 14px rgba(244,60,60,.8);cursor:default;user-select:none}
.cd-cipher::before{content:"[ENC] ";opacity:.75;letter-spacing:.05em}
  font-family:var(--font-mono);font-size:.78rem;letter-spacing:.2em;color:#fff;background:var(--secondary-color);padding:.12rem .8rem;border-radius:3px;box-shadow:0 0 14px rgba(244,60,60,.8)}
.time-box{min-width:92px;padding:.5rem .6rem .4rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:4px}
.time-box span{font-size:4rem;line-height:1;color:#fff;text-shadow:0 0 12px rgba(244,60,60,.9),0 0 32px rgba(244,60,60,.7),0 0 60px rgba(244,60,60,.4);font-variant-numeric:tabular-nums}
.time-box label{margin-top:.35rem;font-size:.85rem;letter-spacing:.25em;color:var(--cyan);text-shadow:0 0 8px rgba(34,230,255,.7)}
.time-box:last-of-type span{animation:secPulse 1s steps(1) infinite}
.separator{font-size:3rem;margin-top:-1.2rem;color:var(--secondary-color);text-shadow:0 0 14px rgba(244,60,60,.9);animation:blink 1s steps(1) infinite}
@keyframes secPulse{50%{text-shadow:0 0 6px rgba(244,60,60,.6)}}

@media (max-width:820px){.cfp-grid{grid-template-columns:1fr}.cfp-body{padding:1.5rem 1.1rem 1.2rem}.cfp-path{font-size:.72rem}}
@media (max-width:600px){
  .countdown-container{gap:.3rem;padding:1rem .6rem .7rem}
  .cd-cipher{font-size:.6rem;letter-spacing:.06em}
  .time-box{min-width:0;padding:.4rem .45rem .3rem}
  .time-box span{font-size:2.3rem}.time-box label{font-size:.6rem;letter-spacing:.1em}
  .separator{font-size:1.8rem;margin-top:-.8rem}
  .btn-cfp{font-size:1.05rem;padding:.9rem 1.4rem}.btn-skip{right:12px;bottom:12px;font-size:.8rem}
}
@media (prefers-reduced-motion:reduce){.cfp-card{animation:none;opacity:1}.cfp-heading::before,.cfp-heading::after,.time-box:last-of-type span,.separator{animation:none}}

/* ===== Secciones debajo del hero ===== */
body{background:
  radial-gradient(ellipse at 15% 0%,rgba(244,60,60,.08),transparent 45%),radial-gradient(ellipse at 85% 40%,rgba(34,230,255,.07),transparent 45%),var(--bg);overflow-x:hidden}
.sec{position:relative;padding:5rem 0}
.sec-inner{width:min(1100px,100% - 32px);margin:0 auto}
.sec-prompt{font-family:var(--font-mono);font-size:.9rem;color:#8b92b3;margin-bottom:.8rem}
.sec-prompt span{color:var(--secondary-color)}
.sec-title{position:relative;display:inline-block;font-size:clamp(1.8rem,5vw,3.2rem);font-weight:900;line-height:1.1;margin-bottom:1rem;color:#fff;text-shadow:0 0 22px rgba(255,255,255,.2)}
.sec-lead{color:#c3c8df;font-size:1.1rem;line-height:1.6;max-width:760px;margin-bottom:2rem}

/* aparición al hacer scroll */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}

/* video */
.video-frame{position:relative;padding:10px;background:linear-gradient(160deg,#080b18,#0a0610);border:1px solid rgba(34,230,255,.35);border-radius:6px;
  box-shadow:0 0 0 1px rgba(255,42,42,.25),0 0 60px rgba(34,230,255,.18),0 0 100px rgba(255,42,42,.12)}
.video-ratio{position:relative;aspect-ratio:16/9;background:#000}
.video-ratio iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* qué es */
.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;align-items:center}
.about-text .sec-title,.col-video .sec-title{display:block}
.about-text p{color:#d3d7ea;line-height:1.75;font-size:1.05rem;margin-bottom:1.1rem}
.about-text strong{color:#fff}
.editions{margin-top:2.5rem;padding:1.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;background:rgba(255,255,255,.04);border:1px solid rgba(34,230,255,.3);border-radius:6px}
.editions-label{grid-column:1/-1;font-family:var(--font-mono);font-weight:400;color:var(--cyan);letter-spacing:.18em;font-size:.9rem}
.edition{display:grid;grid-template-columns:auto 1fr;gap:.4rem .9rem;align-items:center}
.edition-year{font-family:var(--font-mono);font-size:1.5rem;color:var(--secondary-color);text-shadow:0 0 12px rgba(244,60,60,.6)}
.edition-bar{height:10px;background:rgba(255,255,255,.08);border-radius:6px;overflow:hidden}
.edition-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--secondary-color));box-shadow:0 0 12px rgba(244,60,60,.7);transition:width 1.6s cubic-bezier(.2,.8,.2,1)}
.editions.in .edition-bar i{width:var(--w)}
.edition-num{grid-column:1/-1;font-family:var(--font-mono);color:#fff;font-size:1.05rem}
.edition-num b{font-size:1.5rem;color:var(--cyan);text-shadow:0 0 10px rgba(34,230,255,.6)}

/* carrusel de patrocinadores */
.sp-marquee{margin-top:1rem;display:flex;flex-direction:column;gap:1.2rem;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.sp-row{overflow:hidden}
.sp-track{display:flex;gap:1.2rem;width:max-content;animation:spLeft 55s linear infinite}
.sp-right .sp-track{animation-name:spRight;animation-duration:65s}
.sp-marquee:hover .sp-track{animation-play-state:paused}
@keyframes spLeft{to{transform:translateX(-50%)}}
@keyframes spRight{from{transform:translateX(-50%)}to{transform:none}}
.sp-tile{flex:none;display:flex;align-items:center;justify-content:center;width:220px;height:110px;padding:14px;border-radius:8px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);transition:transform .3s,border-color .3s,box-shadow .3s,background .3s}
.sp-tile.sp-white{background:#fff}
.sp-tile:hover{transform:translateY(-6px) scale(1.04);border-color:var(--cyan);box-shadow:0 0 26px rgba(34,230,255,.45);background:rgba(255,255,255,.1)}
.sp-tile img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 0 4px rgba(255,255,255,.35))}
.sp-tile img.plain{filter:none}
.sp-tile img.logo-high-glow{filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px rgba(255,255,255,.9)) drop-shadow(0 0 12px rgba(255,255,255,.6))}

/* donación */
.donate-sub{font-family:var(--font-mono);color:var(--cyan);font-size:1.05rem;letter-spacing:.08em;margin-bottom:1.2rem}
.donate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem;max-width:820px}
.donate-card{--a:#22e6ff;--ar:34,230,255;position:relative;display:flex;flex-direction:column;align-items:center;gap:.8rem;text-align:center;padding:2rem 1.5rem;
  background:linear-gradient(180deg,rgba(var(--ar),.1),rgba(255,255,255,.02));border:1px solid rgba(var(--ar),.4);
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}
.donate-card.c-red{--a:#ff4a4a;--ar:255,74,74}
.donate-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--a);box-shadow:0 0 16px var(--a)}
.donate-ico{font-size:3rem;color:var(--a);filter:drop-shadow(0 0 10px var(--a))}
.donate-card h3{font-family:var(--font-mono);font-size:1.3rem;letter-spacing:.08em;color:var(--a)}
.donate-info{font-family:var(--font-mono);color:#d3d7ea;line-height:1.6}
.donate-btn{margin-top:auto;display:inline-flex;gap:.6rem;align-items:center;padding:.8rem 1.2rem;font-family:var(--font-mono);font-weight:700;letter-spacing:.06em;color:#fff;text-decoration:none;
  background:rgba(var(--ar),.2);border:1px solid var(--a);transition:.25s}
.donate-btn em{font-style:normal;transition:transform .25s}
.donate-btn:hover,.donate-btn:focus-visible{background:var(--a);color:#000;box-shadow:0 0 22px rgba(var(--ar),.7);outline:none}
.donate-btn:hover em{transform:translateX(5px)}

@media (max-width:820px){
  .sec{padding:3.5rem 0}.about-grid,.donate-grid,.editions{grid-template-columns:1fr}
  .sp-tile{width:160px;height:84px;padding:10px}
}
@media (prefers-reduced-motion:reduce){.sp-track{animation:none}.sp-marquee{overflow-x:auto}.reveal{opacity:1;transform:none;transition:none}.sec-title.glitch::before,.sec-title.glitch::after{animation:none}}

/* Donación centrada y simétrica */
.sec-donate .sec-inner{display:flex;flex-direction:column;align-items:center;text-align:center}
.sec-donate .sec-title{display:block;max-width:900px}
.sec-donate .sec-lead{margin-left:auto;margin-right:auto}
.donate-grid{width:100%;max-width:820px;margin:0 auto;grid-template-columns:repeat(2,1fr);align-items:stretch}
.donate-card{clip-path:none;border-radius:10px;justify-content:flex-start;height:100%;box-shadow:0 0 30px rgba(var(--ar),.15)}
.donate-card .donate-info{min-height:3.2em}
.donate-btn{justify-content:center;width:100%;margin-top:auto}
@media (max-width:820px){.donate-grid{grid-template-columns:1fr}}

/* Quieres patrocinar */
.apply-panel{position:relative;background:linear-gradient(160deg,#080b18,#04050c 60%,#0a0610);border:1px solid rgba(34,230,255,.35);border-radius:6px;
  box-shadow:0 0 0 1px rgba(255,42,42,.25),0 0 60px rgba(34,230,255,.16),0 0 100px rgba(255,42,42,.12);overflow:hidden}
.apply-head{display:flex;justify-content:space-between;padding:.7rem 1.2rem;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.15em;
  background:rgba(10,14,28,.95);border-bottom:1px solid rgba(34,230,255,.25);color:#8b92b3}
.apply-status{display:inline-flex;align-items:center;gap:.5rem;color:#27ff7a}
.apply-status i{width:8px;height:8px;border-radius:50%;background:#27ff7a;box-shadow:0 0 8px #27ff7a;animation:blink 1.4s infinite}
.apply-body{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:center;padding:2.5rem 2rem}
.apply-text .sec-lead{margin-bottom:0}
.apply-actions{display:flex;flex-direction:column;gap:1.2rem;align-items:stretch}
.apply-terminal{font-family:var(--font-mono);font-size:1.15rem;color:#fff;padding:1rem 1.2rem;background:rgba(0,0,0,.55);border:1px solid rgba(34,230,255,.4);border-radius:4px;
  text-align:center;word-break:break-all;box-shadow:inset 0 0 20px rgba(34,230,255,.08)}
.apply-terminal span:first-child{color:var(--secondary-color);margin-right:.4rem}
.apply-btn{justify-content:center;text-decoration:none;font-size:1.05rem;padding:1rem 1.4rem;opacity:1;visibility:visible;animation:cfpPulse 2s ease-in-out infinite}
@media (max-width:820px){.apply-body{grid-template-columns:1fr;padding:1.8rem 1.2rem}.apply-terminal{font-size:.95rem}}

/* Video centrado verticalmente respecto a los párrafos */
.col-video{display:flex;flex-direction:column;justify-content:center}

/* CTAs del hero y encabezado de patrocinadores centrado */
.hero-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}
.btn-sponsor{text-decoration:none;background:linear-gradient(135deg,#16c8e6,#0a7fa0);border-color:#7df3ff;
  box-shadow:0 0 28px rgba(34,230,255,.7),0 0 60px rgba(34,230,255,.35),inset 0 0 14px rgba(255,255,255,.2)}
.hero.done .btn-sponsor{animation:cdIn .9s ease 2s forwards,sponsorPulse 2s ease-in-out 3s infinite}
@keyframes sponsorPulse{0%,100%{box-shadow:0 0 28px rgba(34,230,255,.7),0 0 60px rgba(34,230,255,.35),inset 0 0 14px rgba(255,255,255,.2)}
  50%{box-shadow:0 0 44px rgba(34,230,255,1),0 0 100px rgba(34,230,255,.6),inset 0 0 18px rgba(255,255,255,.3)}}
.sec-sponsors .sec-inner{display:flex;flex-direction:column;align-items:center;text-align:center}
.sec-sponsors .sec-title{display:block}
.sec-sponsors .sec-lead{margin-left:auto;margin-right:auto}
html{scroll-behavior:smooth}
@media (max-width:600px){.hero-ctas{flex-direction:column;align-items:center;width:100%}.btn-cfp{width:100%;max-width:340px;justify-content:center}}

/* Redes flotantes */
.social-float{position:fixed;left:14px;top:50%;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.social-list{display:flex;flex-direction:column;gap:.45rem;padding:.55rem;background:rgba(4,6,14,.7);backdrop-filter:blur(6px);border:1px solid rgba(34,230,255,.35);border-radius:10px;box-shadow:0 0 24px rgba(34,230,255,.15)}
.social-list a{--c:#fff;position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;color:#fff;text-decoration:none;font-size:1.2rem;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);transition:transform .2s,background .2s,color .2s,box-shadow .2s,border-color .2s}
.social-list a:hover,.social-list a:focus-visible{transform:translateX(4px) scale(1.08);background:var(--c);color:#000;border-color:var(--c);box-shadow:0 0 18px var(--c);outline:none}
.social-tip{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translateX(-6px);white-space:nowrap;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.06em;color:#fff;
  background:rgba(0,0,0,.85);border:1px solid var(--c);padding:.25rem .6rem;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.social-list a:hover .social-tip,.social-list a:focus-visible .social-tip{opacity:1;transform:translateY(-50%)}
.social-toggle{display:none;width:46px;height:46px;border-radius:50%;cursor:pointer;color:#fff;font-size:1.2rem;background:linear-gradient(135deg,#ff2a2a,#c4141f);border:2px solid #ff6b6b;box-shadow:0 0 20px rgba(255,42,42,.6)}
body.modal-open .social-float{display:none}
@media (max-width:820px){
  .social-float{left:12px;top:auto;bottom:16px;transform:none;flex-direction:column-reverse}
  .social-toggle{display:block}
  .social-list{display:none;flex-direction:column}
  .social-float.open .social-list{display:flex}
  .social-tip{display:none}
}

/* Carrusel de fotos */
.photos-head{text-align:center}.photos-head .sec-title{display:block}.photos-head .sec-lead{margin:0 auto}
.ph-carousel{position:relative;width:100%}
.ph-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:1rem max(16px,calc(50% - 550px));scrollbar-width:none;outline:none}
.ph-track::-webkit-scrollbar{display:none}
.ph-slide{flex:none;scroll-snap-align:center;padding:0;border:1px solid rgba(34,230,255,.35);border-radius:8px;overflow:hidden;cursor:zoom-in;background:#000;
  box-shadow:0 0 0 1px rgba(255,42,42,.2),0 0 24px rgba(34,230,255,.12);transition:transform .3s,box-shadow .3s,border-color .3s}
.ph-slide img{display:block;height:380px;width:auto;max-width:none}
.ph-slide:hover,.ph-slide:focus-visible{transform:translateY(-6px);border-color:var(--secondary-color);box-shadow:0 0 30px rgba(244,60,60,.5);outline:none}
.ph-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:48px;height:48px;border-radius:50%;cursor:pointer;color:#fff;font-size:1.2rem;
  background:rgba(4,6,14,.8);border:1px solid var(--cyan);box-shadow:0 0 18px rgba(34,230,255,.4);transition:.2s}
.ph-arrow:hover,.ph-arrow:focus-visible{background:var(--cyan);color:#000;outline:none}
.ph-prev{left:16px}.ph-next{right:16px}
.photos-cta{display:flex;justify-content:center;margin-top:1.5rem}
.photos-btn{--a:#22e6ff;--ar:34,230,255;width:auto;padding:.9rem 1.8rem}

.lightbox{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.92);backdrop-filter:blur(6px)}
.lightbox[hidden]{display:none}
.lightbox img{max-width:min(92vw,1400px);max-height:88vh;border:1px solid rgba(34,230,255,.4);box-shadow:0 0 60px rgba(34,230,255,.25)}
.lb-close{position:absolute;top:16px;right:20px;background:none;border:1px solid rgba(255,255,255,.4);color:#fff;width:40px;height:40px;border-radius:4px;font-size:1.6rem;cursor:pointer}
.lb-close:hover{background:var(--secondary-color);border-color:var(--secondary-color)}
.lb-prev{left:16px}.lb-next{right:16px}
@media (max-width:820px){.ph-slide img{height:260px}.ph-arrow{width:40px;height:40px}.ph-prev{left:6px}.ph-next{right:6px}}
@media (prefers-reduced-motion:reduce){.ph-track{scroll-behavior:auto}}

/* Redes: aparecen cuando termina la intro */
.social-float{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .8s ease 1.2s,visibility 0s linear 2s}
body.intro-done .social-float{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .8s ease 1.2s,visibility 0s linear 1.2s}
body.modal-open .social-float{display:none}

/* Fotos: carrusel infinito */
.ph-track{display:flex;gap:1rem;width:max-content;overflow:visible;scroll-snap-type:none;padding:1rem 0 1rem 0;animation:phScroll 45s linear infinite}
.ph-carousel{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ph-carousel:hover .ph-track{animation-play-state:paused}
@keyframes phScroll{to{transform:translateX(calc(-50% - .5rem))}}
.ph-arrow.ph-prev,.ph-arrow.ph-next{display:none}
@media (prefers-reduced-motion:reduce){.ph-track{animation:none}.ph-carousel{overflow-x:auto}}

/* Header / navegación */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem max(20px,4vw);
  background:linear-gradient(180deg,rgba(2,4,10,.85),rgba(2,4,10,.45));backdrop-filter:blur(8px);border-bottom:1px solid rgba(34,230,255,.25);
  box-shadow:0 4px 30px rgba(0,0,0,.4);transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform .8s cubic-bezier(.2,.8,.2,1) 1s,opacity .8s ease 1s,visibility 0s linear 1.8s}
body.intro-done .site-nav{transform:none;opacity:1;visibility:visible;transition:transform .8s cubic-bezier(.2,.8,.2,1) 1s,opacity .8s ease 1s,visibility 0s linear 1s}
.nav-brand img{display:block;height:40px;width:auto;filter:drop-shadow(0 0 10px rgba(34,230,255,.4))}
.nav-links{list-style:none;display:flex;align-items:center;gap:.4rem}
.nav-links a{position:relative;display:block;padding:.55rem 1.1rem;font-family:var(--font-mono);font-size:1rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;text-decoration:none;transition:color .2s,text-shadow .2s}
.nav-links a::after{content:"";position:absolute;left:1.1rem;right:1.1rem;bottom:.25rem;height:2px;background:var(--cyan);box-shadow:0 0 10px var(--cyan);transform:scaleX(0);transition:transform .25s}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--cyan);text-shadow:0 0 10px rgba(34,230,255,.7);outline:none}
.nav-links a:hover::after,.nav-links a:focus-visible::after{transform:scaleX(1)}
.nav-links a.nav-cta{background:linear-gradient(135deg,#ff2a2a,#c4141f);border:1px solid #ff6b6b;border-radius:4px;box-shadow:0 0 18px rgba(255,42,42,.55)}
.nav-links a.nav-cta::after{display:none}
.nav-links a.nav-cta:hover,.nav-links a.nav-cta:focus-visible{color:#fff;filter:brightness(1.15);box-shadow:0 0 28px rgba(255,42,42,.9)}
.nav-burger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:none;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer}
.nav-burger span{display:block;width:22px;height:2px;background:#fff;transition:transform .25s,opacity .25s}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
body.modal-open .site-nav{z-index:10}
section[id],header[id]{scroll-margin-top:70px}
@media (max-width:720px){
  .nav-burger{display:flex}
  .nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:.5rem 16px 1rem;background:rgba(2,4,10,.96);border-bottom:1px solid rgba(34,230,255,.25);
    display:none}
  .site-nav.open .nav-links{display:flex}
  .nav-links a{padding:.9rem 1rem;text-align:center}.nav-links a::after{display:none}
  .nav-links a.nav-cta{margin-top:.4rem}
}

/* Coming soon */
.soon-modal{position:fixed;inset:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:16px}
.soon-modal[hidden]{display:none}
.soon-panel{position:relative;width:min(460px,100%);text-align:center;padding:2.5rem 2rem 2rem;background:linear-gradient(160deg,#080b18,#04050c 60%,#0a0610);
  border:1px solid rgba(34,230,255,.35);border-radius:6px;box-shadow:0 0 0 1px rgba(255,42,42,.25),0 0 70px rgba(34,230,255,.2),0 0 120px rgba(255,42,42,.15);animation:pop .35s cubic-bezier(.2,.8,.2,1)}
.soon-title{font-family:var(--font-mono);font-size:clamp(2rem,8vw,3rem);letter-spacing:.12em;color:#fff;margin:.6rem 0;text-shadow:0 0 14px rgba(244,60,60,.9),0 0 36px rgba(244,60,60,.6)}
.soon-text{color:#c3c8df;line-height:1.6;margin-bottom:1.6rem}
.soon-btn{opacity:1;visibility:visible;animation:none;justify-content:center;font-size:1rem;padding:.8rem 2rem}

/* Selector de idioma */
.nav-lang{display:flex;align-items:center;gap:.15rem;margin-left:.6rem;padding-left:.8rem;border-left:1px solid rgba(255,255,255,.2);font-family:var(--font-mono);color:#6f7596}
.lang-btn{background:none;border:0;cursor:pointer;font-family:var(--font-mono);font-size:.95rem;letter-spacing:.1em;color:#9aa0c0;padding:.4rem .5rem;border-radius:3px;transition:color .2s,text-shadow .2s}
.lang-btn:hover,.lang-btn:focus-visible{color:#fff;outline:none}
.lang-btn[aria-pressed="true"]{color:var(--cyan);text-shadow:0 0 10px rgba(34,230,255,.8)}
@media (max-width:720px){.nav-lang{justify-content:center;margin:.4rem 0 0;padding:.6rem 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.15)}.lang-btn{font-size:1.1rem;padding:.5rem .9rem}}

/* Botones del hero: una sola línea en móvil */
@media (max-width:600px){
  .hero-ctas .btn-cfp{white-space:nowrap;font-size:clamp(.72rem,3.9vw,1.05rem);letter-spacing:.04em;gap:.45rem;padding:.9rem .8rem;width:100%;max-width:340px}
  .hero-ctas .btn-cfp-icon{padding:.05rem .35rem}
}
