:root{--fondo:#050608;--panel:#0e1117;--panel2:#141924;--linea:#1f2633;--texto:#f2f4f8;--suave:#9aa3b2;--azul:#2f6fe0;--azul2:#5b8ff0}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--fondo);color:var(--texto);font:17px/1.6 "Inter",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--azul2)}
img,video{display:block;max-width:100%}
.envoltura{max-width:1140px;margin:0 auto;padding:0 20px}
h1,h2,.cifra,.marca span{font-family:"Bebas Neue",sans-serif;font-weight:400;letter-spacing:1px;line-height:.95}

/* Cabecera */
header.barra{position:sticky;top:0;z-index:20;background:rgba(5,6,8,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--linea)}
header.barra .envoltura{display:flex;align-items:center;justify-content:space-between;height:64px}
.marca{display:flex;align-items:center;gap:10px;color:var(--texto);text-decoration:none}
.marca img{width:36px;height:36px}
.marca span{font-size:24px;letter-spacing:2px}
.boton{display:inline-block;background:var(--azul);color:#fff;text-decoration:none;font-weight:700;padding:15px 28px;border-radius:999px;transition:transform .15s,background .15s;border:0;cursor:pointer;font-size:16px}
.boton:hover{transform:translateY(-2px);background:var(--azul2)}
.boton.peq{padding:9px 18px;font-size:14px}
.boton.borde{background:transparent;border:1px solid #3a4456;color:var(--texto)}
.boton.borde:hover{background:#111722}

/* Portada */
.portada{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:64px 0 48px}
.etiqueta{display:inline-block;color:var(--azul2);text-transform:uppercase;letter-spacing:3px;font-size:13px;font-weight:700;margin-bottom:16px}
.portada h1{font-size:clamp(54px,8vw,104px)}
.portada h1 em{font-style:normal;color:var(--azul)}
.portada p.sub{color:var(--suave);font-size:19px;margin:22px 0 30px;max-width:560px}
.acciones{display:flex;flex-wrap:wrap;gap:12px}
.foto-portada{position:relative}
.foto-portada img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:20px}
.foto-portada .sello{position:absolute;left:-18px;bottom:24px;background:var(--panel2);border:1px solid var(--linea);border-radius:14px;padding:12px 16px;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.foto-portada .sello b{display:block;font-size:22px;font-family:"Bebas Neue",sans-serif;letter-spacing:1px;font-weight:400}

/* Cifras */
.cifras{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.cifras div{padding:26px 10px;text-align:center;border-right:1px solid var(--linea)}
.cifras div:last-child{border-right:0}
.cifras .cifra{font-size:46px;color:var(--texto)}
.cifras small{color:var(--suave);font-size:14px}

/* Cinta de colaboraciones */
.cinta{overflow:hidden;padding:22px 0;border-bottom:1px solid var(--linea);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.cinta .pista{display:flex;gap:44px;width:max-content;animation:correr 40s linear infinite}
.cinta span{font-family:"Bebas Neue",sans-serif;font-size:28px;letter-spacing:2px;color:#c7cfdc;white-space:nowrap}
.cinta span.punto{color:var(--azul)}
@keyframes correr{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.cinta .pista{animation:none}}

section{padding:80px 0}
section h2{font-size:clamp(40px,5.5vw,64px);margin-bottom:14px}
.intro{color:var(--suave);max-width:640px;margin-bottom:36px;font-size:18px}

/* Collage */
.collage{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;grid-auto-flow:dense;gap:12px}
.collage img{width:100%;height:100%;object-fit:cover;border-radius:14px}
.collage .alta{grid-row:span 2}

/* Testimonios */
.testimonios{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.testimonio{background:var(--panel);border:1px solid var(--linea);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.testimonio .video{position:relative;aspect-ratio:9/16;background:#000;cursor:pointer}
.testimonio .video img,.testimonio .video video{width:100%;height:100%;object-fit:cover}
.testimonio .video .play{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.6))}
.testimonio .video .play i{width:58px;height:58px;border-radius:50%;background:rgba(47,111,224,.92);display:grid;place-items:center}
.testimonio .video .play i::before{content:"";border-left:18px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:5px}
.testimonio .texto{padding:16px 16px 18px}
.testimonio q{display:block;font-size:15px;color:#d9dee8;margin-bottom:10px}
.testimonio b{font-size:15px}
.testimonio small{display:block;color:var(--suave);font-size:13px}

/* Moonkey */
.quien{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}
.quien img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:20px}
.quien p{color:#d3d9e3;margin-bottom:14px}
.redes{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}

/* Programa */
.rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.tarjeta{background:var(--panel);border:1px solid var(--linea);border-radius:16px;padding:24px}
.tarjeta b{display:block;margin-bottom:6px;font-size:17px}
.tarjeta span{color:var(--suave);font-size:15px}
.tarjeta .num{font-family:"Bebas Neue",sans-serif;color:var(--azul);font-size:30px;line-height:1;display:block;margin-bottom:10px}
ol.modulos{counter-reset:m;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;margin-top:30px}
ol.modulos li{counter-increment:m;background:var(--panel);border:1px solid var(--linea);border-radius:12px;padding:16px 18px 16px 64px;position:relative}
ol.modulos li::before{content:counter(m,decimal-leading-zero);position:absolute;left:18px;top:12px;font-family:"Bebas Neue",sans-serif;font-size:28px;color:var(--azul)}

/* Precio */
.precio{background:linear-gradient(160deg,#101a2e,var(--panel));border:1px solid #24345a;border-radius:22px;padding:38px;max-width:620px}
.precio .cifra{font-size:84px}
.precio small{color:var(--suave);display:block;margin:6px 0 20px}
.precio ul{list-style:none;margin:18px 0 28px;display:grid;gap:9px}
.precio li::before{content:"✓  ";color:var(--azul2);font-weight:700}
.precio .nota{color:var(--suave);font-size:14px;margin-top:18px}

details{background:var(--panel);border:1px solid var(--linea);border-radius:12px;padding:18px 20px;margin-bottom:10px}
details summary{cursor:pointer;font-weight:700}
details p{color:var(--suave);margin-top:10px}

.cierre{text-align:center;padding:90px 20px;background:radial-gradient(circle at 50% 0,#13234a 0,transparent 60%)}
.cierre h2{max-width:800px;margin:0 auto 22px}

footer{border-top:1px solid var(--linea);padding:40px 0 56px;color:var(--suave);font-size:14px}
footer .fila{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;margin-bottom:18px}
footer nav{display:flex;flex-wrap:wrap;gap:8px 20px}
footer nav a{color:var(--suave)}

/* Páginas legales */
.legal{max-width:780px;padding:50px 20px 80px;margin:0 auto}
.legal h1{font-size:56px;margin-bottom:8px}
.legal .fecha{color:var(--suave);font-size:14px;margin-bottom:30px}
.legal h2{font-family:inherit;font-size:20px;font-weight:700;letter-spacing:0;line-height:1.3;margin:32px 0 10px}
.legal p,.legal li{color:#d3d9e3;margin-bottom:10px}
.legal ul,.legal ol{padding-left:22px}
.legal table{width:100%;border-collapse:collapse;font-size:15px;margin:10px 0}
.legal td,.legal th{border:1px solid var(--linea);padding:9px 10px;text-align:left;vertical-align:top}
.legal th{background:var(--panel)}
.pendiente{background:#5a3b00;color:#ffd58a;padding:0 6px;border-radius:4px}

/* Aviso de cookies */
#aviso-cookies{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:560px;margin:0 auto;background:var(--panel2);border:1px solid #2a3446;border-radius:16px;padding:20px;box-shadow:0 20px 50px rgba(0,0,0,.6);font-size:14px;color:#d3d9e3}
#aviso-cookies p{margin-bottom:14px}
#aviso-cookies .acciones{gap:8px}
#aviso-cookies .boton{padding:10px 18px;font-size:14px}

@media(max-width:900px){
  .portada,.quien{grid-template-columns:1fr;gap:32px}
  .portada{padding:36px 0}
  .foto-portada .sello{left:12px}
  .cifras{grid-template-columns:repeat(2,1fr)}
  .cifras div:nth-child(2){border-right:0}
  .cifras div:nth-child(-n+2){border-bottom:1px solid var(--linea)}
  .testimonios{grid-template-columns:repeat(2,1fr)}
  .collage{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
  section{padding:60px 0}
}
@media(max-width:480px){.marca span{font-size:18px;letter-spacing:1px}.marca img{width:30px;height:30px}.collage{grid-auto-rows:150px}.testimonios{grid-template-columns:1fr 1fr;gap:10px}.testimonio .texto{padding:12px}.testimonio q{font-size:14px}.precio{padding:26px}.precio .cifra{font-size:68px}}

/* ===== Diseño v3 ===== */
.hero{position:relative;min-height:min(calc(100vh - 64px),880px);display:flex;align-items:flex-end;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,6,8,.35) 0%,rgba(5,6,8,.55) 45%,var(--fondo) 100%)}
.hero .envoltura{position:relative;z-index:1;padding-top:120px;padding-bottom:40px;width:100%}
.hero h1{font-size:clamp(58px,9vw,124px);max-width:900px}
.hero h1 em{font-style:normal;color:var(--azul)}
.hero p.sub{color:#c9d1de;font-size:clamp(17px,2vw,20px);margin:22px 0 32px;max-width:600px}
.hero .cifras{margin-top:56px;background:rgba(10,13,19,.6);backdrop-filter:blur(8px);border:1px solid var(--linea);border-radius:18px}
.hero .cifras div{border-bottom:0}

.autoridad{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.autoridad .fotos{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:620px}
.autoridad .fotos img{width:100%;height:100%;object-fit:cover;border-radius:16px}
.autoridad .fotos img:first-child{grid-row:span 2}
.autoridad p{color:#d3d9e3;margin-bottom:14px;font-size:17px}
.hitos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}
.hitos div{background:var(--panel);border:1px solid var(--linea);border-radius:14px;padding:16px}
.hitos b{display:block;font-family:"Bebas Neue",sans-serif;font-size:30px;font-weight:400;letter-spacing:1px;line-height:1}
.hitos small{color:var(--suave);font-size:14px}

.academia{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:300px 300px;gap:12px}
.academia figure{position:relative;margin:0;border-radius:16px;overflow:hidden}
.academia figure img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.academia figure:hover img{transform:scale(1.04)}
.academia figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 16px 14px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.8));font-size:14px;font-weight:700}
.academia .g1{grid-column:span 2;grid-row:span 2}
.academia .g2{grid-column:span 2}

.plan{display:grid;grid-template-columns:1.1fr .9fr;border:1px solid #24345a;border-radius:24px;overflow:hidden;background:var(--panel)}
.plan .incluye{padding:40px}
.plan .incluye ul{list-style:none;display:grid;gap:14px;margin-top:22px}
.plan .incluye li{display:flex;gap:12px;align-items:flex-start}
.plan .incluye li::before{content:"";flex:0 0 22px;height:22px;border-radius:50%;background:var(--azul) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' stroke='white' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat;margin-top:2px}
.plan .incluye li span{color:var(--suave);display:block;font-size:14px}
.plan .pago{padding:40px;background:linear-gradient(160deg,#122247,#0b1222);display:flex;flex-direction:column;justify-content:center}
.plan .pago .cifra{font-size:92px;line-height:.9}
.plan .pago small{color:#aab6cc;display:block;margin:8px 0 22px}
.plan .pago .formas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.plan .pago .formas span{border:1px solid #2e4170;border-radius:999px;padding:6px 12px;font-size:13px;color:#cfd8ea}
.plan .pago .nota{color:#93a0b8;font-size:13px;margin-top:18px}

.cierre.foto{position:relative;overflow:hidden;padding:120px 20px}
.cierre.foto>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.cierre.foto>*:not(img){position:relative}

@media(max-width:900px){
  .hero{min-height:auto}
  .hero .envoltura{padding-top:200px}
  .autoridad,.plan{grid-template-columns:1fr}
  .autoridad .fotos{height:440px}
  .academia{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:220px}
  .academia .g1{grid-column:span 2;grid-row:span 1}
  .academia .g2{grid-column:span 2}
  .plan .incluye,.plan .pago{padding:28px}
}
.rejilla{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.rejilla{grid-template-columns:1fr 1fr}}@media(max-width:480px){.rejilla{grid-template-columns:1fr}}
