/* ============================================================
   CUBEX · PITCH DECK — idioma visual compartido
   Editar tokens aquí afecta TODO el deck.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;800;900&family=Share+Tech+Mono&display=swap');

:root{
  --void:#050607;        /* base, negro cálido-frío           */
  --tile:#0c1512;        /* sombra teal enfermiza             */
  --phosphor:#34ffa6;    /* verde fósforo — contador/terminal */
  --alarm:#e02218;       /* rojo quirúrgico — SOLO alarma     */
  --alarm-dim:#7a1410;
  --bone:#ecebe6;        /* blanco hueso — texto clave        */
  --ash:#8a938d;         /* gris-teal — secundarios/labels    */
  --steel:#2a3a38;       /* líneas/divisores                  */
  --mono:'Share Tech Mono',monospace;
  --sans:'Archivo',system-ui,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html,body{height:100%;background:#000;overflow:hidden;}
body{display:flex;align-items:center;justify-content:center;font-family:var(--sans);color:var(--bone);}

/* ---------- STAGE + NAV ---------- */
.stage{position:relative;width:100vw;height:56.25vw;max-height:100vh;max-width:177.78vh;
  container-type:inline-size;background:var(--void);overflow:hidden;isolation:isolate;}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s ease;z-index:1;}
.slide.active{opacity:1;visibility:visible;z-index:2;}

/* contador de marca (global, persistente) */
.counter{position:absolute;top:3.8cqw;right:5.2cqw;z-index:40;font-family:var(--mono);
  font-size:1.9cqw;letter-spacing:.06em;color:var(--phosphor);pointer-events:none;
  text-shadow:0 0 6px rgba(52,255,166,.6),0 0 20px rgba(52,255,166,.28);}
/* grano global */
#grain{position:absolute;inset:0;width:100%;height:100%;z-index:35;opacity:.045;mix-blend-mode:screen;pointer-events:none;}
/* progreso (puntos) */
.dots{position:absolute;bottom:2.4cqw;left:50%;transform:translateX(-50%);z-index:40;display:flex;gap:.7cqw;}
.dots i{width:.55cqw;height:.55cqw;border:1px solid var(--steel);border-radius:50%;transition:.25s;}
.dots i.on{background:var(--alarm);border-color:var(--alarm);box-shadow:0 0 6px var(--alarm);}

/* ---------- FONDOS ---------- */
.bg{position:absolute;inset:0;z-index:0;}
.bg img{width:100%;height:100%;object-fit:cover;}
.bg.dim img{filter:brightness(.4) contrast(1.05) grayscale(.6);opacity:.4;}
.bg.hero img{filter:brightness(.72) contrast(1.1);}
.bg .breathe{animation:breathe 24s ease-in-out infinite;}
@keyframes breathe{0%,100%{transform:scale(1.03)}50%{transform:scale(1.08)}}
.scrim{position:absolute;inset:0;z-index:1;pointer-events:none;}
.scrim.center{background:radial-gradient(62% 48% at 50% 50%,rgba(5,6,7,.72),rgba(5,6,7,.42) 55%,transparent 80%),
  radial-gradient(120% 95% at 50% 45%,transparent 58%,rgba(5,6,7,.5) 100%);}
.scrim.bands{background:
  linear-gradient(180deg,rgba(5,6,7,.9) 0%,rgba(5,6,7,.42) 14%,transparent 26%),
  radial-gradient(72% 44% at 50% 54%,rgba(5,6,7,.66) 0%,rgba(5,6,7,.32) 56%,transparent 80%),
  linear-gradient(0deg,rgba(5,6,7,.82) 0%,rgba(5,6,7,.3) 22%,transparent 40%),
  radial-gradient(120% 95% at 50% 45%,transparent 58%,rgba(5,6,7,.45) 100%);}
.glow-red{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(80% 50% at 50% 112%,rgba(224,34,24,.2),transparent 62%);mix-blend-mode:screen;}

/* ---------- TIPOGRAFÍA / COMPONENTES ---------- */
.eyebrow{position:absolute;top:4.6cqw;left:5.2cqw;z-index:5;font-family:var(--mono);
  font-size:1cqw;letter-spacing:.42em;color:var(--ash);text-transform:uppercase;}
.content{position:absolute;inset:0;z-index:4;}

.kicker{font-family:var(--mono);font-size:1.05cqw;letter-spacing:.5em;color:var(--ash);
  text-transform:uppercase;}
.hero-type{font-weight:900;font-size:8cqw;line-height:.86;letter-spacing:-.01em;text-transform:uppercase;}
.hero-type .r{color:var(--alarm);text-shadow:0 0 44px rgba(224,34,24,.4);}
.headline{font-weight:800;font-size:3.2cqw;line-height:1.02;letter-spacing:-.01em;}
.headline .r{color:var(--alarm);}
.lede{font-weight:400;font-size:1.5cqw;line-height:1.5;color:var(--ash);}
.lede b{color:var(--bone);font-weight:600;}
.rule{width:4.5cqw;height:.28cqw;background:var(--alarm);}

/* centro genérico */
.center{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:0 8cqw;}

/* pilares (chips) */
.pillars{display:flex;gap:1cqw;flex-wrap:wrap;justify-content:center;}
.pillars span{font-family:var(--mono);font-size:1cqw;letter-spacing:.14em;color:var(--bone);
  border:1px solid var(--steel);padding:.7cqw 1.2cqw;text-transform:uppercase;
  background:rgba(5,7,8,.45);backdrop-filter:blur(2px);}
.pillars .plus{border:none;background:none;color:var(--alarm);display:flex;align-items:center;padding:0;font-size:1.2cqw;}

/* fila de mecánicas / features (centradas) */
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3.6cqw;}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:2.2cqw;}
.item{display:flex;flex-direction:column;}
.item.ctr{align-items:center;text-align:center;}
.item .idx{font-family:var(--mono);font-size:1cqw;letter-spacing:.2em;color:var(--alarm);}
.item.ctr .idx::after{content:'';display:block;width:2.4cqw;height:2px;background:var(--alarm);margin:1cqw auto 1.5cqw;opacity:.75;}
.item .t{font-weight:800;font-size:1.55cqw;line-height:1.08;text-transform:uppercase;margin-bottom:1cqw;
  text-shadow:0 2px 14px rgba(0,0,0,.85);}
.item .d{font-weight:400;font-size:1.05cqw;line-height:1.5;color:var(--ash);text-shadow:0 2px 12px rgba(0,0,0,.9);}
.item.ctr .d{max-width:17cqw;}
.item .d b{color:var(--bone);font-weight:600;}
.big{color:var(--bone);font-weight:800;}
.big em{color:var(--phosphor);font-style:normal;}

/* stat grande */
.statrow{display:grid;grid-template-columns:repeat(4,1fr);gap:2.4cqw;}
.stat .n{font-weight:900;font-size:3.4cqw;line-height:1;color:var(--bone);}
.stat .n em{color:var(--alarm);font-style:normal;}
.stat .l{font-size:.98cqw;color:var(--ash);margin-top:.6cqw;line-height:1.35;}

/* tabla limpia */
.tbl{width:100%;border-collapse:collapse;font-size:1.15cqw;}
.tbl th{font-family:var(--mono);font-size:.85cqw;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ash);text-align:left;padding:1cqw 1.2cqw;border-bottom:1px solid var(--steel);font-weight:400;}
.tbl td{padding:1.1cqw 1.2cqw;border-bottom:1px solid rgba(42,58,56,.5);color:var(--bone);}
.tbl td.k{color:var(--phosphor);font-family:var(--mono);font-size:1cqw;}
.tbl tr:last-child td{border-bottom:none;}

/* tarjetas (equipo, escenarios) */
.cards{display:grid;gap:2cqw;}
.card{border:1px solid var(--steel);background:rgba(8,12,11,.55);padding:2cqw;}
.card .ct{font-weight:800;font-size:1.5cqw;text-transform:uppercase;}
.card .cs{font-family:var(--mono);font-size:.85cqw;letter-spacing:.16em;color:var(--ash);
  text-transform:uppercase;margin-top:.5cqw;}

/* quote / pedigree */
.quote{font-style:italic;color:var(--ash);line-height:1.5;border-left:2px solid var(--alarm-dim);padding-left:1.1cqw;}
.pedigree{font-family:var(--mono);font-size:.92cqw;letter-spacing:.18em;color:var(--ash);text-transform:uppercase;
  text-shadow:0 2px 10px rgba(0,0,0,.8);}
.pedigree em{color:var(--bone);font-style:normal;}
.pedigree .sep{color:var(--alarm-dim);margin:0 .8cqw;}

/* ---------- ANIMACIÓN DE ENTRADA (por slide activa) ---------- */
.slide.active [data-rise]{animation:rise .7s ease-out both;}
[data-rise]{opacity:0;}
.slide:not(.active) [data-rise]{animation:none;}
[data-rise="1"]{animation-delay:.10s!important}[data-rise="2"]{animation-delay:.22s!important}
[data-rise="3"]{animation-delay:.34s!important}[data-rise="4"]{animation-delay:.46s!important}
[data-rise="5"]{animation-delay:.58s!important}[data-rise="6"]{animation-delay:.70s!important}
@keyframes rise{from{opacity:0;transform:translateY(.6cqw)}to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  [data-rise]{opacity:1!important;}
}

/* ============================================================
   COMPONENTES ESPECÍFICOS DE SLIDE
   ============================================================ */

/* --- 01 PORTADA --- */
.brandtag{position:absolute;top:5.2cqw;left:5.2cqw;z-index:5;display:flex;align-items:center;gap:1.1cqw;}
.brandtag .g4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6px;width:2.5cqw;height:2.5cqw;}
.brandtag .g4 i{background:var(--ash);opacity:.5;}
.brandtag span{font-family:var(--mono);font-size:.95cqw;letter-spacing:.42em;color:var(--ash);text-transform:uppercase;}
.seam{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:3px;height:44%;z-index:3;
  background:linear-gradient(to top,rgba(224,34,24,0),var(--alarm) 30%,#ff5b4d 55%,var(--alarm) 78%,rgba(224,34,24,0));
  box-shadow:0 0 26px 7px rgba(224,34,24,.55),0 0 70px 18px rgba(224,34,24,.28);animation:seampulse 6.5s ease-in-out infinite;}
.seam-floor{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:34%;height:16%;z-index:2;
  background:radial-gradient(60% 100% at 50% 100%,rgba(224,34,24,.22),transparent 70%);filter:blur(6px);animation:seampulse 6.5s ease-in-out infinite;}
@keyframes seampulse{0%,100%{opacity:.9}47%{opacity:1}50%{opacity:.62}53%{opacity:1}78%{opacity:.85}}
.wordmark{font-weight:900;font-size:14.5cqw;line-height:.82;letter-spacing:.02em;display:flex;align-items:baseline;position:relative;}
.wordmark .w{color:var(--bone);} .wordmark .r{color:var(--alarm);text-shadow:0 0 30px rgba(224,34,24,.4);}
.wordmark .slash{position:absolute;right:-3.2cqw;top:8%;height:86%;width:.9cqw;background:linear-gradient(var(--alarm),#ff5347);
  transform:skewX(-18deg);box-shadow:0 0 18px rgba(224,34,24,.6);}
.logo{width:58cqw;max-width:58cqw;height:auto;display:block;filter:drop-shadow(0 0 34px rgba(224,34,24,.26));}
.awards{display:flex;gap:3.2cqw;flex-wrap:nowrap;align-items:center;justify-content:center;}
.awards img{height:7cqw;width:auto;opacity:.82;filter:drop-shadow(0 2px 10px rgba(0,0,0,.6));transition:opacity .25s;}
.awards img:hover{opacity:1;}
.studioline{position:absolute;left:5.2cqw;bottom:4.4cqw;z-index:5;font-family:var(--mono);font-size:.85cqw;
  letter-spacing:.32em;color:var(--ash);opacity:.7;text-transform:uppercase;}
.footer-c{position:absolute;left:5.2cqw;right:5.2cqw;bottom:4.4cqw;z-index:5;display:flex;justify-content:center;}
/* logo del partner (portada) — pequeño y blanco */
.partner{position:absolute;top:6cqw;left:50%;transform:translateX(-50%);z-index:6;height:2.8cqw;width:auto;max-width:22cqw;opacity:.96;filter:drop-shadow(0 2px 12px rgba(0,0,0,.7));}


/* --- 02 CCTV --- */
.split{position:absolute;inset:0;z-index:1;display:grid;grid-template-columns:38% 62%;}
.panel{position:relative;z-index:3;padding:0 3.4cqw 0 5.2cqw;display:flex;flex-direction:column;justify-content:center;
  background:linear-gradient(90deg,var(--void) 72%,rgba(5,6,7,.35) 100%),radial-gradient(80% 60% at 0% 40%,#0a1210,var(--void) 70%);}
.wall{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;
  background:var(--steel);border-left:2px solid var(--steel);}
.feed{position:relative;overflow:hidden;background:#000;}
.feed img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.9) contrast(1.12) brightness(.72);}
.feed::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,rgba(12,21,18,.25),rgba(0,0,0,.55)),radial-gradient(120% 120% at 50% 40%,transparent 45%,rgba(0,0,0,.6));}
.feed::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.4;mix-blend-mode:overlay;
  background:repeating-linear-gradient(to bottom,rgba(255,255,255,.04) 0 1px,transparent 1px 3px);}
.hud{position:absolute;inset:0;z-index:4;pointer-events:none;font-family:var(--mono);color:var(--bone);}
.hud .cam{position:absolute;top:1.2cqw;left:1.3cqw;font-size:.85cqw;letter-spacing:.18em;opacity:.92;}
.hud .subj{position:absolute;bottom:1.2cqw;left:1.3cqw;font-size:.9cqw;letter-spacing:.16em;}
.hud .subj small{display:block;color:var(--ash);font-size:.68cqw;letter-spacing:.24em;margin-top:.2cqw;}
.hud .tc{position:absolute;bottom:1.2cqw;right:1.3cqw;font-size:.78cqw;color:var(--phosphor);text-shadow:0 0 5px rgba(52,255,166,.5);}
.hud .live{position:absolute;top:1.2cqw;right:1.3cqw;font-size:.72cqw;letter-spacing:.2em;color:var(--alarm);display:flex;align-items:center;gap:.4cqw;}
.hud .live i{width:.55cqw;height:.55cqw;border-radius:50%;background:var(--alarm);box-shadow:0 0 6px var(--alarm);animation:recblink 1.6s steps(1) infinite;}
.feed:nth-child(2) .hud .live i{animation-delay:.5s}.feed:nth-child(3) .hud .live i{animation-delay:.9s}.feed:nth-child(4) .hud .live i{animation-delay:.3s}
.drop{position:absolute;inset:0;z-index:5;opacity:0;pointer-events:none;background:#05100b;
  background-image:repeating-linear-gradient(to bottom,rgba(52,255,166,.06) 0 2px,transparent 2px 5px);}
.rec{width:.7cqw;height:.7cqw;border-radius:50%;background:var(--alarm);box-shadow:0 0 8px var(--alarm);animation:recblink 1.6s steps(1) infinite;display:inline-block;}
@keyframes recblink{0%,60%{opacity:1}61%,100%{opacity:.15}}

/* --- 04 TRAILER --- */
.bar{position:absolute;left:0;right:0;height:8.5%;background:#000;z-index:5;}
.bar.t{top:0;}.bar.b{bottom:0;}
.poster{position:absolute;inset:0;z-index:1;}
.poster img{width:100%;height:100%;object-fit:cover;filter:brightness(.66) contrast(1.08);}
.poster::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 50%,rgba(5,6,7,.35),rgba(5,6,7,.72) 78%,#000);}
#vid{position:absolute;inset:0;z-index:4;width:100%;height:100%;object-fit:contain;background:#000;display:none;}
.ytmount{position:absolute;inset:0;z-index:6;display:none;background:#000;}
.ytmount iframe{width:100%;height:100%;border:0;display:block;}
.playzone{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;}
.ring{width:8.5cqw;height:8.5cqw;border:2px solid var(--alarm);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;transition:transform .25s;}
.ring::before{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--alarm);opacity:.55;animation:pulse 2.4s ease-out infinite;}
@keyframes pulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.5);opacity:0}}
.ring .tri{width:0;height:0;border-left:2.6cqw solid var(--bone);border-top:1.5cqw solid transparent;border-bottom:1.5cqw solid transparent;margin-left:.7cqw;}
.playzone:hover .ring{transform:scale(1.08);}.playzone:hover .ring .tri{border-left-color:var(--alarm);}
.plabel{margin-top:2.4cqw;font-family:var(--mono);font-size:1.05cqw;letter-spacing:.4em;color:var(--bone);text-transform:uppercase;}
.plen{margin-top:.9cqw;font-family:var(--mono);font-size:.9cqw;letter-spacing:.24em;color:var(--ash);}
.hint{margin-top:2.4cqw;font-family:var(--mono);font-size:.8cqw;letter-spacing:.16em;color:var(--steel);text-transform:uppercase;}

/* --- 05 header centrado + grid centrado --- */
.top-head{position:absolute;top:6cqw;left:0;right:0;z-index:4;text-align:center;padding:0 16cqw;text-shadow:0 3px 22px rgba(0,0,0,.85);}
.mid-grid{position:absolute;left:12cqw;right:12cqw;top:53%;transform:translateY(-50%);z-index:4;}

/* --- 06 ROSTER --- */
.roster{position:absolute;left:5.2cqw;right:5.2cqw;top:52%;transform:translateY(-50%);z-index:4;
  display:grid;grid-template-columns:repeat(4,1fr);gap:2cqw;}
.rcard{position:relative;aspect-ratio:3/4.4;overflow:hidden;border:1px solid var(--steel);background:#0a0d0c;}
.rcard img{width:100%;height:72%;object-fit:cover;object-position:top;filter:grayscale(.15) contrast(1.05) brightness(.92);}
.rcard .accent{height:.28cqw;background:var(--c,var(--alarm));}
.rcard .info{padding:1.2cqw;}
.rcard .rn{font-weight:800;font-size:1.55cqw;text-transform:uppercase;line-height:1;}
.rcard .rr{font-family:var(--mono);font-size:.75cqw;letter-spacing:.14em;color:var(--ash);text-transform:uppercase;margin:.5cqw 0 .9cqw;}
.rcard .rf{font-size:.92cqw;line-height:1.35;color:var(--bone);}
.rcard .rf span{color:var(--c,var(--alarm));font-family:var(--mono);font-size:.7cqw;letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:.3cqw;}

/* --- 11 TEAM --- */
.team{position:absolute;left:5.2cqw;right:5.2cqw;top:52%;transform:translateY(-50%);z-index:4;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1.6cqw;}
.tmember{border-left:2px solid var(--steel);padding-left:1.4cqw;}
.tmember .tn{font-weight:800;font-size:1.35cqw;text-transform:uppercase;line-height:1.05;}
.tmember .tr{color:var(--alarm);font-family:var(--mono);font-size:.72cqw;letter-spacing:.14em;text-transform:uppercase;margin:.5cqw 0;}
.tmember .tc2{font-size:.9cqw;color:var(--ash);line-height:1.4;}

/* --- 12/17 TIMELINE (roadmap) --- */
.road{position:absolute;left:5.2cqw;right:5.2cqw;top:53%;transform:translateY(-50%);z-index:4;}
.lane{display:grid;grid-template-columns:16cqw 1fr;align-items:center;gap:1.5cqw;margin-bottom:1cqw;}
.lane .ln{font-family:var(--mono);font-size:.95cqw;letter-spacing:.1em;color:var(--ash);text-transform:uppercase;}
.lane .track{height:2.2cqw;background:rgba(42,58,56,.35);position:relative;}
.lane .fill{position:absolute;top:0;bottom:0;background:var(--c,var(--alarm));display:flex;align-items:center;
  padding-left:1cqw;font-family:var(--mono);font-size:.8cqw;color:#000;letter-spacing:.08em;z-index:1;}

/* eje de meses */
.rmonths,.rmiles{display:grid;grid-template-columns:16cqw 1fr;gap:1.5cqw;}
.rmonths{margin-bottom:.9cqw;}
.rscale{display:flex;}
.rscale span{flex:1;text-align:center;font-family:var(--mono);font-size:.72cqw;letter-spacing:.02em;color:var(--ash);}
.rscale span.mil{color:var(--phosphor);text-shadow:0 0 6px rgba(52,255,166,.5);}

/* carriles + líneas verticales de hito */
.rlanes{position:relative;}
.rmiles-v{position:absolute;left:calc(16cqw + 1.5cqw);right:0;top:0;bottom:0;pointer-events:none;z-index:3;}
.rmiles-v i{position:absolute;top:-2.7cqw;bottom:-.4cqw;border-left:1px dashed rgba(234,179,8,.6);}

/* etiquetas de hito */
.rmiles{margin-top:1.2cqw;}
.rmarks{position:relative;height:3cqw;}
.rmarks span{position:absolute;transform:translateX(-50%);text-align:center;white-space:nowrap;
  font-family:var(--mono);font-size:.92cqw;letter-spacing:.08em;color:var(--phosphor);text-transform:uppercase;}
.rmarks span.end{transform:translateX(-88%);}
.rmarks span em{font-style:normal;}
.rmarks span b{display:block;font-weight:400;font-size:.7cqw;color:var(--ash);margin-top:.3cqw;letter-spacing:.12em;}
.rmarks span::before{content:"";position:absolute;top:-1cqw;left:50%;width:.55cqw;height:.55cqw;border-radius:50%;
  background:var(--phosphor);box-shadow:0 0 7px var(--phosphor);transform:translateX(-50%);}
.rmarks span.end::before{left:88%;}
.rcaption{margin-top:1.4cqw;text-align:center;font-family:var(--mono);font-size:.72cqw;letter-spacing:.06em;
  color:var(--ash);text-transform:uppercase;}

/* --- helpers de posición --- */
.left-block{position:absolute;left:5.2cqw;top:50%;transform:translateY(-50%);z-index:4;max-width:44cqw;}
.wrap-pad{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;justify-content:center;padding:8cqw 5.2cqw 6cqw;}

/* ============================================================
   VIDEO DE FONDO · CONTADOR REGRESIVO · BOTÓN FULLSCREEN
   ============================================================ */
.bg video,.poster video{width:100%;height:100%;object-fit:cover;}
.counter.warn{color:var(--alarm);text-shadow:0 0 6px rgba(224,34,24,.7),0 0 20px rgba(224,34,24,.3);}
.fsbtn{position:absolute;bottom:2.4cqw;right:2.6cqw;z-index:45;width:2.8cqw;height:2.8cqw;
  border:1px solid var(--steel);background:rgba(5,7,8,.5);color:var(--ash);cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:.2s;backdrop-filter:blur(2px);}
.fsbtn:hover{border-color:var(--alarm);color:var(--bone);}
.fsbtn svg{width:45%;height:45%;}

/* ============================================================
   DECK 20 SLIDES — componentes de tu PDF
   ============================================================ */
.cube-nav{position:absolute;top:3.3cqw;right:2.4cqw;z-index:40;width:3cqw;height:auto;
  pointer-events:none;opacity:.9;filter:drop-shadow(0 0 6px rgba(0,0,0,.6));}

/* title cards (5-12) */
.titlecard{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 8cqw;}
.tc-label{font-family:var(--mono);font-size:1.3cqw;letter-spacing:.28em;color:var(--alarm);text-transform:uppercase;margin-bottom:1.6cqw;text-shadow:0 2px 12px rgba(0,0,0,.9);}
.tc-title{font-family:var(--mono);font-size:5cqw;line-height:1.04;letter-spacing:.01em;text-transform:uppercase;color:var(--bone);text-shadow:0 3px 30px rgba(0,0,0,.9);}
.tc-title .r{color:var(--alarm);}
.tc-body{font-family:var(--mono);font-size:1.4cqw;line-height:1.65;color:#d6dbd7;max-width:64cqw;margin-top:2.6cqw;text-shadow:0 2px 16px rgba(0,0,0,.98);}
.tc-body .hl{background:var(--alarm);color:#fff;padding:.05em .35em;}
.tc-kicker{font-family:var(--mono);font-size:1.25cqw;letter-spacing:.22em;color:var(--alarm);text-transform:uppercase;margin-top:2.6cqw;text-shadow:0 2px 12px rgba(0,0,0,.98);}

/* slide 3 narrativa izquierda */
.narr{position:absolute;left:5.5cqw;top:50%;transform:translateY(-50%);z-index:4;max-width:44cqw;}
.narr .h{font-family:var(--mono);font-size:4.4cqw;line-height:1.02;text-transform:uppercase;color:var(--bone);text-shadow:0 3px 24px rgba(0,0,0,.8);}
.narr .h .r{color:var(--alarm);}
.narr .b{font-family:var(--mono);font-size:1.3cqw;line-height:1.6;color:#cfd4d0;margin-top:2cqw;text-shadow:0 2px 12px rgba(0,0,0,.9);}
.narr .k{font-family:var(--mono);font-size:1.3cqw;letter-spacing:.05em;color:var(--alarm);text-transform:uppercase;margin-top:1.8cqw;text-shadow:0 2px 12px rgba(0,0,0,.9);}
.narr .k b{color:var(--bone);}

/* slide 4 character cards */
.chars{position:absolute;left:4cqw;right:4cqw;top:54%;transform:translateY(-50%);z-index:4;display:grid;grid-template-columns:repeat(4,1fr);gap:1.6cqw;}
.ccard{background:#090c0b;border:1px solid var(--steel);}
.ccard img{width:100%;aspect-ratio:1/1.1;object-fit:cover;object-position:top center;filter:grayscale(.25) contrast(1.05);display:block;}
.ccard .ci{padding:1.1cqw 1cqw 1.3cqw;text-align:center;}
.ccard .cn{font-family:var(--mono);font-size:1.4cqw;letter-spacing:.05em;color:var(--bone);}
.ccard .cmeta{font-family:var(--mono);font-size:.68cqw;letter-spacing:.08em;color:var(--ash);margin:.7cqw 0 .3cqw;text-transform:uppercase;}
.ccard .ccube{font-family:var(--mono);font-size:.8cqw;color:var(--bone);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.9cqw;}
.ccard .cf{font-family:var(--mono);font-size:.78cqw;line-height:1.4;color:#c7ccc8;}
.ccard .cf .r{color:var(--alarm);}.ccard .cf .g{color:var(--phosphor);}
.chead{position:absolute;top:6.5cqw;left:0;right:0;z-index:4;text-align:center;font-family:var(--mono);
  font-size:2.6cqw;text-transform:uppercase;line-height:1.15;color:var(--bone);text-shadow:0 2px 16px rgba(0,0,0,.8);}
.chead .r{color:var(--alarm);}

/* slide 14 market */
.dwrap{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;justify-content:center;padding:6cqw 5.2cqw 4cqw;}
.dtitle{font-family:var(--mono);font-size:2.6cqw;color:var(--bone);text-transform:uppercase;margin-bottom:3cqw;}
.dtitle .r{color:var(--alarm);}
.mstats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6cqw;margin-bottom:2.6cqw;}
.mbox{border:1px solid var(--steel);border-top:2px solid var(--alarm);padding:1.4cqw;text-align:center;}
.mbox .n{font-family:var(--mono);font-size:2.3cqw;color:var(--alarm);}
.mbox .l{font-size:.92cqw;color:var(--bone);margin-top:.5cqw;}
.mbox .s{font-size:.68cqw;color:var(--ash);margin-top:.35cqw;}
.tbl.red th{background:var(--alarm);color:#fff;border:none;font-weight:700;}

/* slide 15 tiers */
.hero-eur{text-align:center;}
.hero-eur .big{font-family:var(--mono);font-size:5.6cqw;color:var(--bone);letter-spacing:.02em;}
.hero-eur .sub{font-family:var(--mono);font-size:1.1cqw;color:var(--ash);text-transform:uppercase;letter-spacing:.14em;margin-top:.6cqw;}
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:2cqw;margin-top:3cqw;}
.tier{border-top:2px solid var(--alarm);padding-top:1.6cqw;text-align:center;}
.tier .big{font-family:var(--mono);font-size:3.4cqw;color:var(--bone);}
.tier .yr{font-family:var(--mono);font-size:1cqw;color:var(--phosphor);margin:.5cqw 0 1.2cqw;}
.tier .tt{font-size:1.1cqw;color:var(--bone);line-height:1.3;}
.tier .ts{font-size:.82cqw;color:var(--ash);margin-top:.8cqw;}
.dfoot{font-family:var(--mono);font-size:.85cqw;letter-spacing:.06em;color:var(--ash);text-align:center;margin-top:2.6cqw;text-transform:uppercase;}
.dfoot em{color:var(--alarm);font-style:normal;}

/* slide 16 budget */
.budget{display:grid;grid-template-columns:1fr 1fr;gap:3cqw;}
.budget .tbl td,.budget .tbl th{padding:.5cqw .85cqw;font-size:.88cqw;}
.budget .grp td{color:var(--bone);font-weight:700;background:rgba(224,34,24,.15);}
.budget .grp td.k,.budget td.k{color:var(--phosphor);font-family:var(--mono);text-align:right;}
.budget .sub td{color:var(--ash);}
.budget .tot td{color:#fff;background:var(--alarm);font-weight:700;}

/* slide 18 closing */
.close2{position:absolute;inset:0;z-index:4;display:grid;grid-template-columns:52% 48%;}
.close2 .wall{order:2;height:100%;}
/* 2 cámaras apiladas + barra inferior (referencia) */
.close2 .wall2{grid-template-columns:1fr;grid-template-rows:1fr 1fr auto;}
.close2 .wall2 .feed img{filter:grayscale(1) contrast(1.05) brightness(1.08);}
/* limpiar el tinte teal para que los frames B&N se vean nítidos */
.close2 .wall2 .feed::before{background:
  linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.32)),
  radial-gradient(120% 120% at 50% 42%,transparent 55%,rgba(0,0,0,.45));}
.close2 .wall2 .feed::after{opacity:.22;}
.close2 .wall .hud .cam{position:absolute;top:1.1cqw;left:1.3cqw;font-size:.9cqw;letter-spacing:.2em;opacity:.95;}
.close2 .wall .hud .live{position:absolute;top:2.5cqw;left:1.3cqw;font-size:.72cqw;letter-spacing:.18em;color:var(--bone);display:flex;align-items:center;gap:.45cqw;opacity:.9;}
.close2 .wall .hud .live i{width:.5cqw;height:.5cqw;border-radius:50%;background:var(--alarm);box-shadow:0 0 6px var(--alarm);animation:recblink 1.6s steps(1) infinite;}
.close2 .wall .hud .rectime{position:absolute;top:1.1cqw;right:1.3cqw;font-size:1cqw;letter-spacing:.08em;color:var(--bone);text-shadow:0 1px 4px rgba(0,0,0,.8);}
.close2 .wall .wall-bar{grid-column:1;display:flex;justify-content:space-between;align-items:center;
  padding:.7cqw 1.3cqw;background:#000;font-family:var(--mono);font-size:.78cqw;letter-spacing:.2em;
  color:var(--ash);text-transform:uppercase;border-top:2px solid var(--steel);}
.close-l{padding:6cqw 3cqw 5cqw 5.2cqw;display:flex;flex-direction:column;justify-content:center;}
.close-l .h{font-family:var(--mono);font-size:3.4cqw;text-transform:uppercase;line-height:1.1;color:var(--bone);margin-bottom:2.6cqw;}
.close-l .h .r{color:var(--alarm);}
.terms .row{display:flex;justify-content:space-between;padding:1cqw 1.2cqw;background:rgba(255,255,255,.045);margin-bottom:.6cqw;font-size:1.1cqw;}
.terms .row b{color:var(--bone);font-weight:400;}.terms .row span{color:var(--ash);}
.contact{background:var(--alarm);color:#fff;font-family:var(--mono);font-size:.95cqw;letter-spacing:.08em;padding:1cqw 1.2cqw;margin-top:1.4cqw;text-align:center;}

/* slide 20 status */
.status{position:absolute;left:5.2cqw;right:5.2cqw;top:54%;transform:translateY(-50%);z-index:4;display:grid;grid-template-columns:1fr 1fr;gap:3cqw;}
.stbox{border:1px solid var(--steel);}
.stbox .hd{padding:1cqw 1.4cqw;font-family:var(--mono);font-size:.95cqw;letter-spacing:.12em;text-transform:uppercase;}
.stbox.done .hd{background:rgba(34,197,94,.16);color:#22c55e;border-bottom:1px solid rgba(34,197,94,.4);}
.stbox.ask .hd{background:rgba(224,34,24,.15);color:var(--alarm);border-bottom:1px solid rgba(224,34,24,.4);}
.stbox ul{list-style:none;padding:1cqw 1.4cqw;}
.stbox.done li{font-size:.95cqw;color:var(--bone);padding:.55cqw 0 .55cqw 1.8cqw;position:relative;line-height:1.3;}
.stbox.done li::before{content:'✓';position:absolute;left:0;color:#22c55e;}
.stbox.ask li{display:flex;justify-content:space-between;font-size:.95cqw;color:var(--bone);padding:.62cqw 0;border-bottom:1px solid rgba(42,58,56,.5);}
.stbox.ask li b{color:var(--phosphor);font-family:var(--mono);font-weight:400;}
.dhead{position:absolute;top:5cqw;left:5.2cqw;z-index:4;font-family:var(--mono);font-size:2.4cqw;color:var(--bone);text-transform:uppercase;}

/* slide 11 competitors matrix */
.mtx .bg{position:absolute;inset:0;z-index:0;}
.mtx-bg{width:100%;height:100%;object-fit:cover;filter:brightness(.62) contrast(1.06) saturate(1.08);}
.mtx-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(60% 56% at 50% 48%,transparent 45%,rgba(5,8,10,.6) 100%);}
.mtx-links{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;overflow:visible;}
.mtx-links .lk{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:5 7;
  opacity:.95;animation:mtxflow .8s linear infinite;filter:drop-shadow(0 0 3px currentColor);}
.m-green{stroke:#49ff29;color:#49ff29;} .m-red{stroke:#ed5656;color:#ed5656;} .m-blue{stroke:#5485ef;color:#5485ef;}
.m-yellow{stroke:#ffce00;color:#ffce00;} .m-purple{stroke:#80f;color:#80f;}
@keyframes mtxflow{to{stroke-dashoffset:-12;}}
@media (prefers-reduced-motion:reduce){ .mtx-links .lk{animation:none;} }

/* CUBEX centro — al centro exacto de la imagen */
.mtx-word{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);
  width:18cqw;height:auto;filter:drop-shadow(0 3px 20px rgba(0,0,0,.95));}

/* nodos de eje (icono en círculo, centrado en su coordenada exacta) */
.inode{position:absolute;z-index:5;transform:translate(-50%,-50%);
  width:3.7cqw;height:3.7cqw;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:var(--c);border:2px solid var(--c);background:rgba(5,8,10,.7);
  box-shadow:0 0 13px var(--c),inset 0 0 9px rgba(0,0,0,.5);pointer-events:none;}
.inode svg{width:56%;height:56%;}
.n-con{--c:#49ff29;} .n-coop{--c:#5485ef;} .n-hor{--c:#ed5656;} .n-puz{--c:#ffce00;} .n-act{--c:#80f;}

/* etiquetas de eje */
.albl{position:absolute;z-index:5;transform:translate(-50%,-100%);width:16cqw;text-align:center;
  font-family:var(--mono);font-size:1.15cqw;letter-spacing:.14em;text-transform:uppercase;color:var(--bone);
  pointer-events:none;text-shadow:0 2px 10px rgba(0,0,0,.95);}
.albl small{display:block;font-size:.6cqw;letter-spacing:.1em;color:var(--ash);margin-top:.2cqw;}
.l-coop{transform:translate(-100%,-50%);text-align:right;width:14cqw;}
.l-puz{transform:translate(-50%,0);}

/* cajas de competidor */
.cbox{position:absolute;z-index:4;width:20cqw;border:1px solid var(--steel);background:rgba(6,10,9,.66);
  backdrop-filter:blur(3px);padding:.8cqw .9cqw .2cqw;}
.cbox.tl{top:7cqw;left:3cqw;}  .cbox.tr{top:7cqw;right:3cqw;}
.cbox.bl{bottom:6cqw;left:3cqw;} .cbox.br{bottom:6cqw;right:3cqw;}
.cbox .clogo{display:block;height:3.4cqw;width:auto;max-width:90%;margin:.1cqw auto .55cqw;
  object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.6));}
.cbox .crow{font-family:var(--mono);font-size:.85cqw;letter-spacing:.14em;text-transform:uppercase;
  color:var(--c,var(--bone));text-align:center;padding:.5cqw 0;border-top:1px solid rgba(42,58,56,.55);
  text-shadow:0 1px 5px rgba(0,0,0,.7);}

/* ============================================================
   GATE · acceso + CRT + auto-fullscreen
   ============================================================ */
#gate{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;
  background:#000;overflow:hidden;transition:opacity .8s ease;}
#gate.out{opacity:0;pointer-events:none;}
.gate-static{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:.9;filter:contrast(1.06) brightness(1.02);}
.gate-crt{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:0 6vw;animation:gflicker 5s infinite;}
.gate-logo-wrap{animation:gpower 1.1s ease-out both;}
.gate-logo{width:min(52vw,720px);height:auto;display:block;
  animation:gaberr 3.6s steps(1) infinite;}
.gate-crt form{margin-top:6vh;}
#gatePass{width:min(62vw,420px);background:rgba(10,20,16,.55);border:1px solid var(--phosphor);
  color:var(--phosphor);font-family:var(--mono);font-size:1.05rem;letter-spacing:.4em;text-align:center;
  text-transform:uppercase;padding:.9rem 1rem;outline:none;caret-color:var(--phosphor);
  text-shadow:0 0 8px rgba(52,255,166,.7);box-shadow:0 0 18px rgba(52,255,166,.18),inset 0 0 12px rgba(52,255,166,.08);}
#gatePass::placeholder{color:rgba(52,255,166,.4);letter-spacing:.3em;}
#gateMsg{margin-top:1.4rem;min-height:1.1rem;font-family:var(--mono);font-size:.82rem;letter-spacing:.32em;
  color:var(--alarm);text-transform:uppercase;text-shadow:0 0 8px rgba(224,34,24,.6);}
.gate-foot{margin-top:7vh;font-family:var(--mono);font-size:.68rem;letter-spacing:.42em;
  color:rgba(138,147,141,.55);text-transform:uppercase;}
.gate-scan{position:absolute;inset:0;z-index:3;pointer-events:none;mix-blend-mode:overlay;opacity:.55;
  background:repeating-linear-gradient(to bottom,rgba(255,255,255,.05) 0 1px,transparent 1px 3px);}
.gate-scan::after{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 92% at 50% 50%,transparent 54%,rgba(0,0,0,.85));}
#gate.shake .gate-crt{animation:gshake .5s;}
@keyframes gpower{0%{transform:scaleY(.004);opacity:0}22%{transform:scaleY(.02);opacity:1}
  45%{transform:scaleY(1.05)}70%{transform:scaleY(.99)}100%{transform:scaleY(1)}}
@keyframes gflicker{0%,90%,100%{opacity:1}92%{opacity:.7}93%{opacity:1}96%{opacity:.85}97%{opacity:1}}
@keyframes gaberr{
  0%,100%{filter:drop-shadow(2px 0 rgba(255,0,60,.75)) drop-shadow(-2px 0 rgba(0,220,255,.55)) brightness(1.04)}
  50%    {filter:drop-shadow(3px 0 rgba(255,0,60,.8))  drop-shadow(-3px 0 rgba(0,220,255,.6))  brightness(1.06)}}
@keyframes gshake{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}
  30%,50%,70%{transform:translateX(-9px)}40%,60%{transform:translateX(9px)}}
@media (prefers-reduced-motion:reduce){
  .gate-logo-wrap,.gate-logo,.gate-crt{animation:none!important;}
}
