/* Narra Studio · estilo "cine" de la portada y del acceso (el estudio sigue usando marca.css) */
:root{
  --fondo:oklch(15.5% .006 180); --tarjeta:oklch(19% .006 180); --tarjeta2:oklch(23.5% .008 180); --acento-fondo:oklch(27% .008 180);
  --texto:oklch(95% .012 92); --suave:oklch(70% .01 180); --borde:oklch(32% .005 180);
  --lima:oklch(92.4% .205 119); --lima-texto:oklch(17% .013 125); --mal:oklch(65% .2 25);
  --velo:oklch(10% .005 180 / .85);
  --sombra-cine:0 22px 70px oklch(5% 0 0 / .25);
  --sombra-img:linear-gradient(0deg,oklch(10% .005 180 / .9),transparent 60%);
  --letra:"Work Sans",system-ui,sans-serif; --titulo:"Instrument Serif",Georgia,serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fondo);color:var(--texto);font:14px/1.5 var(--letra);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
.oculto{display:none!important}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--lima);outline-offset:4px}
.shell{max-width:1720px;margin-inline:auto;padding-inline:48px}

/* marca */
.marca{display:inline-flex;align-items:center;gap:12px;font-family:var(--titulo);font-size:25px;white-space:nowrap}
.marca svg{width:27px;height:30px;color:var(--lima);flex-shrink:0}

/* botones */
.boton{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 19px;border-radius:6px;border:1px solid transparent;
  font-size:12.5px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background .2s,color .2s,border-color .2s;background:none}
.boton svg{width:16px;height:16px;flex-shrink:0}
.boton.lima{background:var(--lima);color:var(--lima-texto)}
.boton.lima:hover{background:color-mix(in oklch,var(--lima) 85%,transparent)}
.boton.borde{border-color:var(--borde);background:var(--fondo)}
.boton.borde:hover,.boton.claro:hover{background:var(--acento-fondo)}
.boton.grande{height:48px;padding:0 25px;font-size:13.5px}
.boton:disabled{opacity:.5;cursor:default}
.boton-icono{width:36px;height:36px;padding:0}

.eyebrow{color:var(--lima);text-transform:uppercase;font-size:10.5px;font-weight:500;letter-spacing:.06em;line-height:1.6}
.titulo-seccion{font-family:var(--titulo);font-weight:400;font-size:45px;line-height:1.12;margin:10px 0 14px}
.intro{color:var(--suave);max-width:550px;margin:0;font-size:13.5px;line-height:1.8}
.centro{text-align:center}
.centro .intro{margin-inline:auto}

/* encabezado */
.cabecera{height:82px;border-bottom:1px solid color-mix(in oklch,var(--borde) 45%,transparent);background:var(--fondo);position:relative;z-index:20}
.cabecera-in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:100%}
.menu{display:flex;align-items:center;gap:26px;margin-left:auto}
.menu a,.pie-enlaces a{color:var(--suave);font-size:12.5px;transition:color .2s}
.menu a:hover,.pie-enlaces a:hover{color:var(--texto)}
.acciones{display:flex;align-items:center;gap:12px}
.abrir-menu{display:none}
.menu-movil{position:absolute;top:81px;left:0;right:0;display:grid;padding:15px 24px 22px;background:var(--tarjeta);border-bottom:1px solid var(--borde);box-shadow:var(--sombra-cine)}
.menu-movil a{padding:13px 0;font-size:14px}

/* portada: el lienzo ocupa todo el ancho, como en Buzzy */
.heroe{position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid color-mix(in oklch,var(--borde) 60%,transparent);padding-bottom:40px}
.heroe-escena{position:relative;height:calc(var(--alto-lienzo,700px));min-height:560px}
.heroe-texto{position:absolute;z-index:3;left:0;right:0;top:50%;transform:translateY(-52%);pointer-events:none}
.heroe-texto>.shell>*{pointer-events:auto}
.heroe-texto .bloque{max-width:520px}
.heroe-texto .bloque::before{content:"";position:absolute;z-index:-1;left:-140px;top:-120px;width:820px;height:640px;pointer-events:none;
  background:radial-gradient(closest-side,oklch(15.5% .006 180 / .92),oklch(15.5% .006 180 / .6) 55%,transparent)}
.heroe h1{font-family:var(--titulo);font-weight:400;font-size:clamp(56px,6.4vw,104px);line-height:1;margin:14px 0 0;letter-spacing:-.01em}
.heroe-lema{font-family:var(--titulo);font-size:clamp(28px,2.7vw,40px);line-height:1.15;margin:8px 0 16px}
.heroe-lema em{color:var(--lima)}
.heroe-desc{color:var(--suave);font-size:14.5px;line-height:1.8;margin:0;max-width:460px}
.heroe-botones{display:flex;align-items:center;gap:12px;margin-top:28px;flex-wrap:wrap}
.heroe-checks{display:flex;gap:19px;margin-top:20px;color:var(--suave);font-size:11.5px;flex-wrap:wrap}
.heroe-checks span{display:flex;align-items:center;gap:5px}
.heroe-checks svg{width:11px;height:11px;color:var(--lima)}
.heroe .mosaico{margin-top:10px}

/* lienzo con tarjetas que se arrastran (líneas quietas y aparición suave, como Buzzy) */
.lienzo{position:absolute;inset:0;z-index:1;user-select:none;-webkit-user-select:none;opacity:0;transition:opacity .4s ease;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent),linear-gradient(0deg,transparent 0,#000 70px,#000);
  -webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent),linear-gradient(0deg,transparent 0,#000 70px,#000);mask-composite:intersect}
.lienzo.listo{opacity:1}
.lienzo::before{content:"";position:absolute;inset:0;background-image:radial-gradient(color-mix(in oklch,var(--texto) 12%,transparent) 1px,transparent 1.3px);background-size:22px 22px}
.lienzo-capa{position:absolute;left:0;top:0;transform-origin:0 0}
.lienzo svg.lineas{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.lineas path{fill:none;stroke:color-mix(in oklch,var(--texto) 22%,transparent);stroke-width:1.2}
.nodo{position:absolute;left:0;top:0;cursor:grab;touch-action:none}
.nodo:active{cursor:grabbing}
.nodo.arrastrando{filter:drop-shadow(0 18px 40px oklch(0% 0 0 / .55))}
.nodo-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:6px;font-size:12px;color:color-mix(in oklch,var(--texto) 70%,transparent)}
.nodo-cab i{font-style:normal;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nodo-caja{position:relative;border-radius:10px;overflow:hidden;background:var(--tarjeta);box-shadow:0 0 0 1px color-mix(in oklch,var(--texto) 8%,transparent),var(--sombra-cine)}
.cambia{transition:opacity .4s ease}
.cambia.fuera{opacity:0}
.nodo-guion .nodo-caja{padding:14px 16px;min-height:128px;font-family:var(--titulo);font-size:19px;line-height:1.32}
.nodo-guion .cursor{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--lima);animation:parpadeo 1s steps(1) infinite}
@keyframes parpadeo{50%{opacity:0}}
.nodo-voz .nodo-caja{display:flex;align-items:center;gap:12px;padding:14px 15px}
.lienzo [hidden]{display:none!important}
.tomas-lista{margin:0;padding-left:18px;display:grid;gap:7px;font-size:13px;line-height:1.35;color:var(--texto)}
.tomas-lista li::marker{color:var(--lima);font-weight:600}
.nodo-objeto .nodo-caja img{object-fit:contain;background:oklch(90% .005 90)}
.voz-boton{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:var(--lima);color:var(--lima-texto)}
.voz-boton svg{width:13px;height:13px}
.onda{flex:1;display:flex;align-items:center;gap:3px;height:34px}
.onda span{flex:1;border-radius:2px;background:color-mix(in oklch,var(--lima) 75%,transparent);height:30%;animation:onda 1.2s ease-in-out infinite}
@keyframes onda{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
.nodo-escena .nodo-caja{aspect-ratio:420/344}
.nodo-escena img,.nodo-video video,.nodo-video .nodo-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.nodo-escena .nodo-caja::after{content:"";position:absolute;inset:0;background:oklch(0% 0 0 / .1);pointer-events:none}
.nodo-video .nodo-caja{aspect-ratio:9/16;background:#000;cursor:pointer}
.nodo-video .nodo-caja::after{content:"";position:absolute;inset:0;background:var(--sombra-img);pointer-events:none}
.nodo-video .nodo-titulo{position:absolute;z-index:1;left:14px;right:52px;bottom:14px;font-size:12.5px;line-height:1.45}
.lienzo-ayuda{position:absolute;z-index:2;right:48px;bottom:14px;color:var(--suave);font-size:11px;display:flex;align-items:center;gap:6px}
.lienzo-ayuda svg{width:13px;height:13px}

/* carrusel 3D de videos (centro de frente, lados girados), sin sonido ni controles */
.cover{position:relative;height:clamp(440px,42vw,620px);margin-top:36px;perspective:1600px;outline:none;touch-action:pan-y;user-select:none;-webkit-user-select:none;overflow:hidden}
.cover-pista{position:absolute;inset:0;transform-style:preserve-3d}
.cover-tarjeta{position:absolute;left:50%;top:50%;width:clamp(220px,19vw,320px);aspect-ratio:9/16;margin-left:calc(clamp(220px,19vw,320px) / -2);translate:0 -50%;
  transition:transform .7s cubic-bezier(.22,.61,.36,1),opacity .5s ease;cursor:pointer;--oscuro:0}
.cover-tarjeta.centro{cursor:default}
.cover-tarjeta.lejos{pointer-events:none}
.cover-media{position:absolute;inset:0;border-radius:14px;overflow:hidden;background:var(--tarjeta);box-shadow:0 0 0 1px color-mix(in oklch,var(--texto) 9%,transparent),0 30px 80px oklch(0% 0 0 / .55)}
.cover-media img,.cover-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.cover-media video{opacity:0;transition:opacity .4s}
.cover-media video.lista{opacity:1}
.cover-media::after{content:"";position:absolute;inset:0;pointer-events:none;transition:background .7s;
  background:linear-gradient(0deg,oklch(8% .005 180 / .92),transparent 42%),oklch(8% .005 180 / var(--oscuro))}
.cover-tarjeta.vacia .cover-media{display:grid;place-items:center;color:var(--suave);font-size:12px}
.cover-texto{position:absolute;left:18px;right:18px;bottom:18px;transition:opacity .5s}
.cover-tarjeta:not(.centro) .cover-texto{opacity:.55}
.cover-texto h3{margin:6px 0 0;font-size:15px;font-weight:500;line-height:1.4}
.sello{display:inline-block;background:var(--velo);color:var(--lima);border-radius:3px;padding:5px 8px;font-size:9.5px}
.cover-flecha{position:absolute;z-index:60;top:50%;translate:0 -50%;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  background:color-mix(in oklch,var(--tarjeta) 85%,transparent);color:var(--texto);border:1px solid var(--borde);transition:background .2s,color .2s}
.cover-flecha:hover{background:var(--lima);color:var(--lima-texto);border-color:var(--lima)}
.cover-flecha svg{width:18px;height:18px}
.cover-flecha.izq{left:max(48px,calc((100vw - 1720px) / 2 + 48px))}
.cover-flecha.der{right:max(48px,calc((100vw - 1720px) / 2 + 48px))}

.mosaico{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-top:35px}
.mosaico a{position:relative;display:block;aspect-ratio:3/4.15;border:1px solid var(--borde);border-radius:6px;overflow:hidden;box-shadow:var(--sombra-cine)}
.mosaico img{width:100%;height:100%;object-fit:cover;transition:transform .65s}
.mosaico a:first-child img{object-position:23% center}
.mosaico a:hover img{transform:scale(1.045)}
.mosaico a::after{content:"";position:absolute;inset:0;background:var(--sombra-img)}
.mosaico span{position:absolute;z-index:1;left:16px;right:16px;bottom:17px;display:flex;justify-content:space-between;align-items:center;font-size:13px}
.mosaico span svg{width:15px;height:15px}
.mosaico-pie{display:flex;justify-content:space-between;gap:20px;margin-top:13px;color:var(--suave);font-size:10.5px}

/* secciones */
.seccion{padding-block:80px;border-bottom:1px solid color-mix(in oklch,var(--borde) 60%,transparent)}
.pasos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;margin-top:42px}
.paso{display:flex;gap:18px;text-align:left}
.paso>svg{width:30px;height:30px;color:var(--lima);stroke-width:1.2;flex-shrink:0}
.paso h3{margin:0 0 9px;font-size:14.5px;font-weight:500}
.paso h3 span{color:var(--lima);margin-right:6px}
.paso p{color:var(--suave);margin:0;font-size:12.5px;line-height:1.7}

.seccion-arriba{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}
.flechas{display:flex;gap:8px;align-items:center}
.contador{color:var(--suave);font-size:11.5px;margin-right:12px}
.funciones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 45px;margin-top:40px}
.funcion{border-top:1px solid var(--borde);padding-top:22px}
.funcion svg{width:23px;height:23px;color:var(--lima);stroke-width:1.3;margin-bottom:17px}
.funcion h3{margin:0 0 10px;font-size:14.5px;font-weight:500}
.funcion p{color:var(--suave);margin:0;font-size:12.5px;line-height:1.8}

.estilos{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center;margin-top:35px}
.estilo-vista{position:relative;aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:var(--tarjeta)}
.estilo-vista img{width:100%;height:100%;object-fit:cover}
.estilo-vista span{position:absolute;left:18px;bottom:18px;background:var(--velo);border-radius:4px;padding:7px 12px;font-size:12.5px}
.estilo-botones{display:flex;flex-wrap:wrap;gap:9px}
.estilo-botones .boton{height:38px;border-radius:4px;border-color:var(--borde);background:var(--fondo)}
.estilo-botones .boton[aria-pressed=true]{background:var(--lima);color:var(--lima-texto);border-color:var(--lima)}

.nichos{display:flex;flex-wrap:wrap;margin-top:27px}
.nichos span{color:var(--suave);border-bottom:1px solid var(--borde);margin-right:20px;padding:13px 20px 13px 0;font-size:12.5px}
.nichos .tuyo{color:var(--lima)}

.planes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:38px}
.plan{position:relative;display:flex;flex-direction:column;padding:30px 25px;border:1px solid var(--borde);border-radius:6px;background:var(--tarjeta)}
.plan.destacado{border-color:var(--lima)}
.plan-sello{position:absolute;top:-12px;left:24px;background:var(--lima);color:var(--lima-texto);border-radius:3px;padding:5px 10px;font-size:10.5px}
.plan h3{margin:0 0 7px;font-size:19px;font-weight:500}
.plan-lema{color:var(--suave);font-size:11.5px;line-height:1.6;min-height:32px}
.precio{display:flex;align-items:baseline;gap:6px;margin-top:17px}
.precio strong{font-size:42px;font-weight:500;line-height:1.3}
.precio span,.precio-antes,.precio-cop{color:var(--suave);font-size:11.5px}
.precio-antes{margin-top:6px}
.precio-cop{margin:6px 0 20px}
.cupos{border-block:1px solid var(--borde);padding:13px 0;margin-bottom:22px}
.cupos div{display:flex;justify-content:space-between;gap:10px;font-size:11.5px;line-height:2.5}
.cupos b{color:var(--lima);font-weight:500}
.plan ul{list-style:none;margin:0 0 25px;padding:0;display:grid;gap:13px}
.plan li{display:flex;gap:9px;align-items:start;color:var(--suave);font-size:11.5px;line-height:1.6}
.plan li svg{width:13px;height:15px;color:var(--lima);flex-shrink:0}
.plan .boton{width:100%;margin-top:auto}
.nota-precio{color:var(--suave);font-size:11.5px;margin-top:25px}

.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}
.faq-lista{border-top:1px solid var(--borde)}
.faq-lista details{border-bottom:1px solid var(--borde)}
.faq-lista summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 0;font-size:13.5px;cursor:pointer;list-style:none}
.faq-lista summary::-webkit-details-marker{display:none}
.faq-lista summary svg{width:16px;height:16px;color:var(--suave);flex-shrink:0;transition:transform .2s}
.faq-lista details[open] summary svg{color:var(--lima);transform:rotate(45deg)}
.faq-lista p{color:var(--suave);margin:0 25px 23px 0;font-size:12.5px;line-height:1.8}

.cierre{padding-block:90px}
.cierre .titulo-seccion{font-size:53px}
.cierre p{color:var(--suave);margin:14px 0 25px;font-size:13.5px;max-width:520px}

.pie{border-top:1px solid var(--borde);padding:27px 0}
.pie-in{display:flex;justify-content:space-between;align-items:center;gap:24px}
.pie .marca{font-size:21px}
.pie .marca svg{width:22px}
.pie-enlaces{display:flex;gap:24px}
.copy{color:var(--suave);font-size:10.5px}

@media (max-width:1000px){
  .menu{gap:16px}.menu a{font-size:11.5px}.acciones{gap:4px}.shell{padding-inline:28px}
  .pasos{gap:25px}.estilos{gap:32px}.faq{gap:35px}.plan{padding:26px 20px}
}
@media (max-width:760px){
  .shell{padding-inline:22px}
  .cabecera{height:70px}
  .menu,.acciones .entrar{display:none}
  .acciones{gap:5px}
  .abrir-menu{display:inline-flex}
  .acciones .boton.lima{height:35px;padding-inline:12px;font-size:11px}
  .menu-movil{top:69px}
  .marca{font-size:23px}
  .heroe-desc br{display:none}
  .heroe-botones .boton.grande{height:44px;padding-inline:16px;font-size:12.5px}
  .mosaico{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .mosaico a{aspect-ratio:3/3.7}
  .mosaico span{font-size:11.5px;left:12px;right:12px;bottom:12px}
  .mosaico-pie{font-size:9.5px;gap:10px}
  .seccion{padding-block:52px}
  .titulo-seccion{font-size:36px}
  .intro{font-size:12.5px}
  .pasos{grid-template-columns:1fr;gap:27px;margin-top:32px;max-width:420px}
  .seccion-arriba{align-items:center;gap:15px}
  .seccion-arriba .titulo-seccion{font-size:33px}
  .funciones{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 22px}
  .funcion h3{font-size:12.5px}.funcion p{font-size:11.5px}
  .estilos{grid-template-columns:1fr;gap:23px}
  .estilo-botones .boton{padding-inline:12px;font-size:11.5px}
  .nichos span{margin-right:10px;padding-right:10px;font-size:11.5px}
  .planes{grid-template-columns:1fr;gap:27px;max-width:460px}
  .plan{padding:28px}.plan-lema{min-height:0}
  .plan li,.cupos div{font-size:12.5px}
  .faq{grid-template-columns:1fr;gap:27px}
  .cierre{padding-block:55px}.cierre .titulo-seccion{font-size:39px}
  .pie-in{flex-wrap:wrap;gap:20px}.pie-enlaces{gap:17px}.copy{width:100%}
  .cover{height:430px;margin-top:26px}
  .cover-tarjeta{width:200px;margin-left:-100px}
  .cover-flecha{width:36px;height:36px}
  .cover-flecha.izq{left:12px}.cover-flecha.der{right:12px}
  .cover-texto{left:12px;right:12px;bottom:12px}.cover-texto h3{font-size:13px}
  .nodo-guion .nodo-caja{font-size:16px;min-height:0;padding:12px 13px}
}
@media (max-width:420px){ .funciones{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,::before,::after{transition:none!important;animation:none!important}}
/* pantallas medianas y celular: el texto arriba y el lienzo debajo */
@media (max-width:1100px){
  .heroe{padding-top:40px}
  .heroe-escena{height:auto;min-height:0;display:flex;flex-direction:column;gap:30px}
  .heroe-texto{position:relative;top:auto;transform:none}
  .heroe-texto .bloque::before{display:none}
  .lienzo{position:relative;inset:auto;width:calc(100% - 44px);margin-inline:22px;-webkit-mask-image:none;mask-image:none}
  .lienzo::before{inset:-20px}
  .lienzo-ayuda{display:none}
  .heroe .mosaico{margin-top:34px}
}
@media (min-width:761px) and (max-width:1100px){ .lienzo{width:calc(100% - 56px);margin-inline:28px} }
