/* Nosotros: manifiesto, collage, cifras, línea de tiempo, valores de vidrio, galería, fábrica y llamado. Roboto. */
@property --ang{syntax:'<angle>';inherits:false;initial-value:0deg}
.nx{--nx-tit:'Roboto',system-ui,-apple-system,'Segoe UI',sans-serif;--nx-mor:#7B2FF7;--nx-mor-o:#4B0FA0;--nx-rojo:#E8343B;--nx-nar:#F6A623;--nx-mag:#C2187A;--nx-verde:#2EE35F;--nx-neg:#0d0a14;--ease:cubic-bezier(.2,.8,.2,1);overflow:hidden;font-family:var(--nx-tit);position:relative}
.nx h1,.nx h2,.nx h3,.nx p,.nx a,.nx b,.nx li,.nx span{font-family:var(--nx-tit)}
.nx img{max-width:100%}
.nx-sec{padding:clamp(56px,8vw,110px) 0;position:relative}
.nx-dos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.nx-h2{font:900 clamp(2rem,1.2rem + 3vw,3.6rem)/1.05 var(--nx-tit);letter-spacing:-.02em;margin:0 0 .5em;color:var(--nx-neg)}
.nx-h3{font:900 clamp(1.4rem,1rem + 1.4vw,2rem)/1.1 var(--nx-tit);margin:0 0 .8em;color:var(--nx-neg)}
.nx-quienes p{font-size:1.08rem;line-height:1.7;color:#3b3548}
.nx-etq{display:inline-block;font:700 .78rem/1 var(--nx-tit);letter-spacing:.2em;text-transform:uppercase;color:var(--nx-mag);margin-bottom:1.1em;padding-left:2.6em;position:relative}
.nx-etq::before{content:"";position:absolute;left:0;top:50%;width:1.9em;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--nx-mor),var(--nx-nar))}
.nx-etq.nx-claro{color:#ffd9a0}
.nx-cab{margin-bottom:clamp(28px,4vw,52px)}
.nx-cab .nx-h2{margin-bottom:0}

/* Botones */
.nx-btns{display:flex;flex-wrap:wrap;gap:14px;margin:1.6em 0 0}
.nx-centro{justify-content:center}
.nx-btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.6em;font:700 1rem/1.1 var(--nx-tit);text-decoration:none;color:#fff;background:linear-gradient(110deg,#E8343B,#C2187A 50%,#7B2FF7);background-size:200% 100%;border-radius:14px;padding:.95em 1.7em;min-height:50px;box-shadow:0 12px 30px -10px rgba(194,24,122,.75);transition:transform .2s var(--ease),box-shadow .25s,background-position .5s var(--ease)}
.nx-btn:hover{transform:translateY(-3px);background-position:100% 0;box-shadow:0 18px 38px -10px rgba(194,24,122,.9)}
.nx-btn span{transition:transform .25s var(--ease)}.nx-btn:hover span{transform:translateX(4px)}
.nx-brilla::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:nx-brillo 3.4s infinite;z-index:-1}
.nx-fantasma{background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.5);box-shadow:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.nx-fantasma:hover{background:#fff;color:var(--nx-mor-o);box-shadow:0 14px 30px -12px rgba(0,0,0,.5)}
.nx-grande{font-size:1.15rem;padding:1.05em 2.1em}
@keyframes nx-brillo{0%,55%{left:-60%}100%{left:130%}}

/* Aparición */
.js .nx-rev{opacity:0;transform:translateY(38px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .nx-rev.vis{opacity:1;transform:none}
.nx-d1{transition-delay:.12s!important}.nx-d2{transition-delay:.24s!important}.nx-d3{transition-delay:.36s!important}

/* Palabras */
.nx-w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .04em .14em;margin-bottom:-.14em}
.nx-w>span{display:inline-block}
.js .nx-w>span{transform:translateY(115%) rotate(5deg);transition:transform .9s var(--ease);transition-delay:calc(var(--w)*90ms + 120ms)}
.js .nx-w.on>span{transform:none}
.nx-w .k{background:linear-gradient(100deg,#7B2FF7,#C2187A,#F6A623,#C2187A,#7B2FF7);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:nx-grad 6s linear infinite;padding-right:.05em}
@keyframes nx-grad{to{background-position:-300% 0}}

/* Manifiesto */
.nx-mani{background:#0d0a14;color:#fff;position:relative;overflow:hidden;padding:clamp(64px,9vw,120px) 0 0}
.nx-mani-luz{position:absolute;inset:-20%;background:radial-gradient(40% 40% at 20% 30%,rgba(123,47,247,.35),transparent 70%),radial-gradient(35% 35% at 80% 60%,rgba(194,24,122,.28),transparent 70%);animation:nx-flota 14s ease-in-out infinite alternate}
.nx-mani .contenedor{position:relative}
.nx-mani-t{font:900 clamp(2.5rem,1rem + 7.2vw,7.4rem)/.98 var(--nx-tit);letter-spacing:-.035em;margin:0;color:#fff;max-width:14em}
.nx-mani-p{font:400 clamp(1.05rem,.9rem + .6vw,1.4rem)/1.6 var(--nx-tit);color:#cfc8de;max-width:40em;margin:1.4em 0 0}
.nx-cinta{overflow:hidden;padding:clamp(36px,5vw,64px) 0 28px;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.nx-cinta-pista{display:flex;gap:18px;width:max-content;animation:nx-cinta 50s linear infinite}
.nx-cinta-it{flex:none;width:104px;height:104px;border-radius:22px;background:#fff;box-shadow:0 14px 30px -12px rgba(123,47,247,.6);display:grid;place-items:center;padding:8px}
.nx-cinta-it img{width:100%;height:100%;object-fit:contain}
@keyframes nx-cinta{to{transform:translateX(-50%)}}
@keyframes nx-flota{to{transform:translate3d(4%,-5%,0) scale(1.15)}}

/* Quiénes somos */
.nx-quienes{background:#fff}
.nx-collage{position:relative;aspect-ratio:1/1;max-width:520px;margin:0 auto;width:100%}
.nx-cb{position:absolute;width:44%;transition:transform .25s ease-out;will-change:transform}
.nx-cb>div{background:#fff;border-radius:26px;padding:12px;box-shadow:0 30px 50px -22px rgba(75,15,160,.55),0 0 0 1px rgba(123,47,247,.12);animation:nx-sube 6s ease-in-out infinite alternate}
.nx-cb img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain}
.nx-cb1{left:2%;top:4%}.nx-cb2{right:2%;top:0;width:40%}.nx-cb3{left:8%;bottom:2%;width:40%}.nx-cb4{right:4%;bottom:6%}
.nx-cb2>div{animation-delay:-1.5s;animation-duration:7s}.nx-cb3>div{animation-delay:-3s;animation-duration:6.5s}.nx-cb4>div{animation-delay:-4.5s;animation-duration:7.5s}
@keyframes nx-sube{from{transform:translateY(-10px) rotate(-2deg)}to{transform:translateY(12px) rotate(2deg)}}
.nx-lineas{margin-top:clamp(44px,6vw,80px)}
.nx-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.nx-chips li{font:700 .95rem/1 var(--nx-tit);padding:.8em 1.15em;border-radius:99px;background:#f4eefe;color:var(--nx-mor-o);border:1.5px solid #e2d3fb;transition:transform .25s var(--ease),background .25s,color .25s}
.js .nx-chips li{opacity:0;transform:translateY(14px) scale(.9)}
.js .nx-rev.vis .nx-chips li{opacity:1;transform:none;transition:opacity .5s var(--ease),transform .6s cubic-bezier(.3,1.5,.5,1);transition-delay:calc(var(--i)*55ms + 250ms)}
.nx-chips li:hover{background:var(--nx-mor);color:#fff;transform:translateY(-3px)!important}

/* Cifras */
.nx-cifras-sec{background:linear-gradient(135deg,#4B0FA0,#7B2FF7 60%,#9a3df0);padding:clamp(56px,7vw,96px) 0;position:relative}
.nx-cifras{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,36px)}
.nx-cifra{--ang:0deg;padding:4px;border-radius:30px;background:conic-gradient(from var(--ang),#7B2FF7,#C2187A,#F6A623,#2EE35F,#7B2FF7);animation:nx-gira 5s linear infinite;box-shadow:0 30px 60px -28px rgba(0,0,0,.7)}
.nx-cifra-in{background:#0d0a14;border-radius:26px;padding:clamp(26px,4vw,52px) 18px;text-align:center;height:100%}
.nx-cifra b{display:block;font:900 clamp(3.4rem,1.2rem + 8vw,8rem)/1 var(--nx-tit);letter-spacing:-.04em;background:linear-gradient(180deg,#fff,#F6A623);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.nx-cifra b span{font-family:var(--nx-tit)}
.nx-cifra-in>span{display:block;font:700 clamp(.9rem,.8rem + .5vw,1.25rem)/1.3 var(--nx-tit);color:#e8defa;letter-spacing:.04em;text-transform:uppercase;margin-top:.6em}
@keyframes nx-gira{to{--ang:360deg}}

/* Línea de tiempo */
.nx-proceso{background:#faf7ff}
.nx-linea{list-style:none;margin:0;padding:0;position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;--p:0}
.nx-linea::before{content:"";position:absolute;left:0;right:0;top:27px;height:4px;border-radius:4px;background:#e4d9f6}
.nx-linea::after{content:"";position:absolute;left:0;top:27px;height:4px;border-radius:4px;width:calc(100%*var(--p));background:linear-gradient(90deg,#7B2FF7,#C2187A,#F6A623);box-shadow:0 0 16px rgba(194,24,122,.6)}
.nx-paso{position:relative;padding-top:78px}
.nx-num{position:absolute;left:0;top:0;width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font:900 1.5rem/1 var(--nx-tit);color:#9a8cb8;background:#fff;border:2px solid #e4d9f6;z-index:1;transition:all .5s var(--ease)}
.nx-paso.on .nx-num{color:#fff;background:linear-gradient(135deg,#C2187A,#7B2FF7);border-color:transparent;box-shadow:0 0 0 7px rgba(123,47,247,.14),0 14px 24px -8px rgba(123,47,247,.7);transform:scale(1.06)}
.nx-paso h3{font:900 1.35rem/1.15 var(--nx-tit);margin:0 0 .5em;color:var(--nx-neg)}
.nx-paso p{margin:0;color:#4a4458;line-height:1.6}

/* Valores: vidrio */
.nx-valores{background:#0d0a14;color:#fff;overflow:hidden}
.nx-val-luz{position:absolute;inset:0;pointer-events:none}
.nx-val-luz i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55}
.nx-val-luz i:nth-child(1){width:46vw;height:46vw;max-width:640px;max-height:640px;left:-10%;top:-8%;background:#7B2FF7;animation:nx-flota 16s ease-in-out infinite alternate}
.nx-val-luz i:nth-child(2){width:38vw;height:38vw;max-width:520px;max-height:520px;right:-8%;top:30%;background:#C2187A;animation:nx-flota 19s ease-in-out infinite alternate-reverse}
.nx-val-luz i:nth-child(3){width:34vw;height:34vw;max-width:460px;max-height:460px;left:30%;bottom:-14%;background:#4B0FA0;animation:nx-flota 22s ease-in-out infinite alternate}
.nx-val-in{position:relative}
.nx-valores .nx-h2{color:#fff}
.nx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;perspective:1100px}
.nx-card{--ang:0deg;--rx:0deg;--ry:0deg;--mx:50%;--my:50%;--c:#A66BFF;position:relative;border-radius:26px;padding:34px 28px 30px;background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.16);box-shadow:0 30px 50px -30px rgba(0,0,0,.8);overflow:hidden;transform-style:preserve-3d;min-height:300px}
.nx-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:conic-gradient(from var(--ang),var(--c),#7B2FF7,#C2187A,#F6A623,var(--c));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:.25;transition:opacity .4s;animation:nx-gira 6s linear infinite;pointer-events:none}
.nx-card::after{content:"";position:absolute;inset:0;background:radial-gradient(320px 320px at var(--mx) var(--my),color-mix(in srgb,var(--c) 38%,transparent),transparent 70%);opacity:0;transition:opacity .35s;pointer-events:none}
.nx-card:hover::before,.nx-card:focus-within::before{opacity:1}
.nx-card:hover::after{opacity:1}
.js .nx-card.nx-rev{opacity:0;transform:perspective(1000px) translateY(60px) rotateX(-14deg)}
.js .nx-card.nx-rev.vis{opacity:1;transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .2s ease-out,opacity .9s var(--ease)}
.js .nx-card.vis.nx-reposo{transition:transform .6s var(--ease),opacity .9s var(--ease)}
.nx-n{position:absolute;right:14px;top:-10px;font:900 8rem/1 var(--nx-tit);color:rgba(255,255,255,.07);letter-spacing:-.05em;pointer-events:none;user-select:none}
.nx-ico{position:relative;display:grid;place-items:center;width:72px;height:72px;border-radius:50%;color:#fff;background:linear-gradient(140deg,var(--c),color-mix(in srgb,var(--c) 45%,#2a0a5e));margin-bottom:22px;transform:translateZ(40px);animation:nx-halo 2.6s ease-in-out infinite}
@keyframes nx-halo{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--c) 55%,transparent),0 12px 26px -8px var(--c)}50%{box-shadow:0 0 0 16px transparent,0 12px 26px -8px var(--c)}}
.nx-card h3{position:relative;font:700 1.4rem/1.2 var(--nx-tit);color:#fff;margin:0 0 .6em}
.nx-card p{position:relative;margin:0;color:#c9c1da;font-size:1rem;line-height:1.6}
.nx-card a{color:#F6A623;font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* Galería */
.nx-galeria{background:#0d0a14;padding:clamp(48px,7vw,96px) 0;overflow:hidden;position:relative}
.nx-galeria .nx-h2{color:#fff}
.nx-gal-fila{overflow:hidden;margin-bottom:18px}
.nx-gal-pista{display:flex;gap:18px;width:max-content;animation:nx-cinta 70s linear infinite}
.nx-inv .nx-gal-pista{animation-direction:reverse;animation-duration:80s}
.nx-gal-fila:hover .nx-gal-pista{animation-play-state:paused}
.nx-gal-fila figure{margin:0;flex:none;height:300px;border-radius:20px;background:#1a1426;border:1px solid rgba(255,255,255,.1);overflow:hidden;display:grid;place-items:center}
.nx-gal-fila img{height:100%;width:auto;max-width:none;display:block;object-fit:contain}

/* Fábrica */
.nx-fabrica{background:linear-gradient(135deg,#2b0a66,#5b1fc4 55%,#7B2FF7);color:#fff;overflow:hidden}
.nx-fab-brillo{position:absolute;inset:-20%;background:radial-gradient(34% 40% at 85% 20%,rgba(246,166,35,.28),transparent 70%),radial-gradient(40% 40% at 10% 90%,rgba(194,24,122,.4),transparent 70%);animation:nx-flota 12s ease-in-out infinite alternate;pointer-events:none}
.nx-fabrica .contenedor{position:relative}
.nx-fabrica .nx-h2{color:#fff}
.nx-fabrica p{color:#e8defa;font-size:1.08rem;line-height:1.65}
.nx-dir{display:flex;align-items:center;gap:16px;font:900 clamp(1.3rem,1rem + 1.6vw,2rem)/1.2 var(--nx-tit);color:#fff!important}
.nx-dir svg{flex:none;width:48px;height:48px;padding:11px;border-radius:50%;background:var(--nx-rojo);animation:nx-pulso 2.2s infinite}
@keyframes nx-pulso{0%{box-shadow:0 0 0 0 rgba(232,52,59,.7)}70%,100%{box-shadow:0 0 0 18px rgba(232,52,59,0)}}
.nx-fab-img{position:relative}
.nx-mapa{border-radius:26px;overflow:hidden;box-shadow:0 0 0 3px rgba(255,255,255,.25),0 34px 60px -26px #000;aspect-ratio:4/3;background:#2b0a66}
.nx-mapa iframe{width:100%;height:100%;border:0;display:block}
.nx-sello{position:absolute;left:-8px;bottom:-16px;background:var(--nx-nar);color:#141820;font:900 .95rem/1.1 var(--nx-tit);padding:.85em 1.2em;border-radius:14px;box-shadow:0 14px 26px -10px rgba(0,0,0,.6);transform:rotate(-4deg);text-decoration:none;transition:transform .25s var(--ease)}
.nx-sello:hover{transform:rotate(0) scale(1.06)}

/* Final */
.nx-final{background:#0d0a14;color:#fff;text-align:center;padding:clamp(72px,10vw,140px) 0;position:relative;overflow:hidden}
.nx-final-luz{position:absolute;inset:-30%;background:radial-gradient(34% 40% at 30% 40%,rgba(123,47,247,.45),transparent 70%),radial-gradient(34% 40% at 72% 60%,rgba(194,24,122,.4),transparent 70%);animation:nx-flota 13s ease-in-out infinite alternate}
.nx-final-in{position:relative}
.nx-final h2{font:900 clamp(2.2rem,1rem + 5vw,5rem)/1.02 var(--nx-tit);letter-spacing:-.03em;margin:0 auto .5em;max-width:14em;color:#fff}
.nx-final p{font-size:clamp(1.05rem,1rem + .5vw,1.3rem);color:#d9d0ea;max-width:36em;margin:0 auto}
.nx-final p b{color:#F6A623}
.nx-final .nx-btns{margin-top:2em}

/* Móvil */
@media (max-width:860px){
  .nx-dos{grid-template-columns:1fr}
  .nx-linea{grid-template-columns:1fr;gap:26px}
  .nx-linea::before{left:27px;right:auto;top:10px;bottom:10px;width:4px;height:auto}
  .nx-linea::after{left:27px;top:10px;width:4px;height:calc((100% - 20px)*var(--p))}
  .nx-paso{padding:4px 0 0 82px;min-height:58px}
  .nx-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -18px;padding:10px 18px 26px;-webkit-overflow-scrolling:touch;scrollbar-width:none;perspective:none}
  .nx-grid::-webkit-scrollbar{display:none}
  .nx-card{flex:0 0 82%;scroll-snap-align:center;min-height:280px}
  .nx-cifras{gap:12px}
  .nx-cifra-in{padding:24px 8px}
  .nx-gal-fila figure{height:220px}
  .nx-cb{width:46%}
  .nx-n{font-size:6.5rem}
}
@media (prefers-reduced-motion:reduce){
  .nx *,.nx *::before,.nx *::after{animation:none!important;transition:none!important}
  .js .nx-rev,.js .nx-w>span,.js .nx-chips li,.js .nx-card.nx-rev{opacity:1!important;transform:none!important}
  .nx-gal-fila{overflow-x:auto}
}

/* Galería: mosaico, cada pieza completa (sin recortes) */
.nx-mosaico{columns:3 300px;column-gap:18px}
.nx-mosaico figure{margin:0 0 18px;break-inside:avoid;border-radius:18px;overflow:hidden;background:#1a1426;border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 50px -24px rgba(123,47,247,.6);transition:transform .45s cubic-bezier(.2,1,.3,1),box-shadow .45s;transition-delay:var(--d,0ms)}
.nx-mosaico img{display:block;width:100%;height:auto;transition:transform .6s cubic-bezier(.2,1,.3,1)}
.nx-mosaico figure:hover{transform:translateY(-6px);box-shadow:0 30px 60px -20px rgba(194,24,122,.75)}
.nx-mosaico figure:hover img{transform:scale(1.04)}
@media(max-width:600px){.nx-mosaico{columns:1}}
