/* Midnight OS Next Gen · presentación cinematográfica (portada + galería + reproductor) */
.ngp{position:relative;padding:110px 24px 120px;background:radial-gradient(ellipse at 50% 0%,rgba(36,140,255,.16),transparent 60%),#05070D;color:#EEF3FB;overflow:hidden;font-family:inherit}
.ngp::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,200,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,200,255,.05) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 50% 40%,#000 20%,transparent 75%);pointer-events:none}
.ngp-in{position:relative;max-width:1240px;margin:0 auto}
.ngp-k{font-size:13px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:#00C8FF;text-shadow:0 0 18px rgba(0,200,255,.6)}
.ngp h2{margin:14px 0 10px;font-size:clamp(34px,5vw,62px);line-height:1.05;font-weight:700;letter-spacing:-.01em;background:linear-gradient(180deg,#FFF3D6,#E2B65C 60%,#9C7330);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px rgba(226,182,92,.35))}
.ngp p.ngp-l{max-width:720px;color:#B8C4D8;font-size:18px;line-height:1.6}
.ngp-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px;margin-top:42px}
.ngp-main,.ngp-th{position:relative;display:block;border:0;padding:0;cursor:pointer;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 0 0 1px rgba(0,200,255,.45),0 0 40px -8px rgba(0,200,255,.55),0 30px 80px -30px #000;transition:transform .35s,box-shadow .35s}
.ngp-main{aspect-ratio:16/9}.ngp-main img,.ngp-th img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s}
.ngp-main:hover,.ngp-th:hover{transform:translateY(-4px);box-shadow:0 0 0 1px rgba(226,182,92,.8),0 0 50px -6px rgba(226,182,92,.6),0 30px 80px -30px #000}
.ngp-main:hover img,.ngp-th:hover img{transform:scale(1.05)}
.ngp-main::after,.ngp-th::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px),linear-gradient(180deg,transparent 55%,rgba(2,4,10,.85));pointer-events:none}
.ngp-c{position:absolute;width:22px;height:22px;border:2px solid #00C8FF;z-index:2;filter:drop-shadow(0 0 6px #00C8FF)}
.ngp-c.a{left:10px;top:10px;border-right:0;border-bottom:0}.ngp-c.b{right:10px;top:10px;border-left:0;border-bottom:0}.ngp-c.c{left:10px;bottom:10px;border-right:0;border-top:0}.ngp-c.d{right:10px;bottom:10px;border-left:0;border-top:0}
.ngp-play{position:absolute;left:50%;top:50%;z-index:3;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(226,182,92,.95),rgba(156,115,48,.95));box-shadow:0 0 0 10px rgba(226,182,92,.18),0 0 60px rgba(226,182,92,.7)}
.ngp-play::before{content:"";margin-left:8px;border-left:28px solid #05070D;border-top:17px solid transparent;border-bottom:17px solid transparent}
.ngp-cap{position:absolute;left:22px;right:22px;bottom:18px;z-index:3;text-align:left}
.ngp-cap b{display:block;font-size:20px;font-weight:700;color:#fff}.ngp-cap small{display:block;margin-top:4px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#8FDBFF}
.ngp-ths{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ngp-th{aspect-ratio:16/9}.ngp-th .ngp-cap{left:14px;bottom:10px}.ngp-th .ngp-cap b{font-size:14px}.ngp-th .ngp-cap small{font-size:10px}
.ngp-note{margin-top:22px;font-size:12px;letter-spacing:.08em;color:#6F7C94}
.ngp-btn{display:inline-flex;align-items:center;gap:12px;cursor:pointer;font:inherit;font-weight:600;color:#05070D;padding:14px 24px;border:0;border-radius:999px;background:linear-gradient(135deg,#E2B65C,#00C8FF);box-shadow:0 0 30px -6px rgba(0,200,255,.7)}
.ngp-btn::before{content:"";border-left:12px solid #05070D;border-top:7px solid transparent;border-bottom:7px solid transparent}
.ngp-m{position:fixed;inset:0;z-index:99999;display:none;place-items:center;background:rgba(1,2,6,.94);backdrop-filter:blur(6px)}
.ngp-m.on{display:grid}
.ngp-m video{width:min(92vw,calc(86vh*16/9));aspect-ratio:16/9;border-radius:14px;background:#000;box-shadow:0 0 0 1px rgba(0,200,255,.5),0 0 80px -10px rgba(0,200,255,.6)}
.ngp-x{position:absolute;right:22px;top:18px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:#fff;font-size:26px;cursor:pointer}
@media (max-width:860px){.ngp{padding:80px 16px 90px}.ngp-grid{grid-template-columns:1fr}.ngp-play{width:74px;height:74px;margin:-37px 0 0 -37px}}
@media (prefers-reduced-motion:reduce){.ngp-main,.ngp-th,.ngp-main img,.ngp-th img{transition:none}}
@media (max-width:600px){.ngp-main .ngp-play{top:40%}.ngp-main .ngp-cap b{font-size:16px}.ngp-main .ngp-cap small{font-size:10px}}
/* portada: el video de fondo queda como ambiente, sin competir con el título */
img[src$="hero-poster.jpg"],.ngp-hv,#heroVid{filter:blur(3px) brightness(.62) saturate(1.1);transform:scale(1.04)}
.ngp{text-align:left}
.ngp.ngp-wide{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:60px}
/* barra superior de presentaciones */
.nxb{position:fixed;left:0;right:0;top:0;z-index:100000;display:flex;align-items:center;gap:8px;padding:6px 12px;overflow-x:auto;scrollbar-width:none;background:rgba(3,4,8,.92);border-bottom:1px solid rgba(226,182,92,.35);backdrop-filter:blur(8px);font-family:inherit}
.nxb::-webkit-scrollbar{display:none}
.nxb-t{flex:none;font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#E2B65C;padding-right:4px}
.nxb-b{flex:none;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid rgba(0,200,255,.55);background:linear-gradient(135deg,rgba(226,182,92,.16),rgba(0,200,255,.12));color:#EEF3FB;font-size:11.5px;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;box-shadow:0 0 14px -6px rgba(0,200,255,.8)}
.nxb-b::before{content:"";border-left:7px solid #E2B65C;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent}
.nxb-b:hover,.nxb-b:focus-visible{border-color:#E2B65C;background:linear-gradient(135deg,rgba(226,182,92,.32),rgba(0,200,255,.2));outline:none}
html.nxb-on body{padding-top:34px}
html.nxb-on{scroll-padding-top:110px}
