/* ══════════════════════════════════════════════════════════════
   PROJECT PAGE — /work/<id>/ (pagina propia por proyecto)
   Standalone: no carga main.css (que bloquea el scroll del body).
   Reusa el lenguaje de depth.css: negro profundo, cristal, grano.
   ══════════════════════════════════════════════════════════════ */
:root{
  --ease-out:cubic-bezier(.16,1,.3,1);
  --g-line:rgba(255,255,255,.13);
  --g-line-hi:rgba(255,255,255,.28);
  --g-hi:inset 0 1px 0 rgba(255,255,255,.22),inset 0 0 0 1px rgba(255,255,255,.02);
  --sh-3:0 4px 8px rgba(0,0,0,.35),0 24px 48px -12px rgba(0,0,0,.75),0 70px 120px -40px rgba(0,0,0,.9);
  --blur-glass:blur(22px) saturate(165%);
  --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --pad:clamp(1.25rem,4vw,3.5rem);
  --txt:#f5f5f3;
  --dim:rgba(255,255,255,.55);
  --faint:rgba(255,255,255,.32);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{background:#000;color-scheme:dark;-webkit-text-size-adjust:100%;}
body{font-family:'DM Sans','Helvetica Neue',Arial,sans-serif;color:var(--txt);overflow-x:hidden;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img,video{display:block;max-width:100%;}
:focus:not(:focus-visible){outline:none;}
:focus-visible{outline:2px solid rgba(255,255,255,.92);outline-offset:3px;}

/* ── Film grain (igual que la home) ── */
body::after{
  content:"";position:fixed;inset:-60px;z-index:190;pointer-events:none;
  background-image:var(--noise);background-size:180px 180px;opacity:.045;
  animation:pjGrain 1.1s steps(5) infinite;
}
@keyframes pjGrain{
  0%{transform:translate3d(0,0,0)}20%{transform:translate3d(-22px,14px,0)}40%{transform:translate3d(18px,-26px,0)}
  60%{transform:translate3d(-12px,30px,0)}80%{transform:translate3d(28px,8px,0)}100%{transform:translate3d(0,0,0)}
}

/* ── Fondo ambiental: el poster del proyecto, muy desenfocado ── */
.pj-amb{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;}
.pj-amb img{position:absolute;inset:-10%;width:120%;height:120%;object-fit:cover;filter:blur(70px) saturate(160%);opacity:.42;transform:translateZ(0);}
.pj-amb::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 0%,rgba(0,0,0,.15),rgba(0,0,0,.85) 60%,#000 100%);}

/* ══════════ VORONOI OSCURO A LOS LADOS (solo pantallas anchas, js/project-bg.js) ══════════
   Columna central en proporción áurea: 61,8 % del ancho (mín. 1100px para no encoger el
   vídeo en portátiles, máx. 1440px). Laterales = 19,1 % cada uno a 1920px.
   El Voronoi va muy atenuado, en último plano, y se apaga más al bajar hacia el trabajo. */
:root{--col:1440px;}
.pj-vor,.pj-sheet{display:none;}
@media (min-width:1280px){
  :root{--col:clamp(1100px,61.8vw,1440px);--feather:calc((100vw - var(--col)) / 2 * .6);}
  html.has-vor .pj-amb{display:none;}
  html.has-vor .pj-vor{
    display:block;position:fixed;inset:0;z-index:-3;width:100%;height:100%;pointer-events:none;
    filter:blur(26px) saturate(150%) contrast(1.4) brightness(.62);
    transform:scale(1.12);
    opacity:calc(var(--vor-o,1) * .55);
    transition:opacity .4s linear;
  }
  /* la columna negra, con los bordes fundidos hacia el Voronoi */
  html.has-vor .pj-sheet{
    display:block;position:fixed;top:0;bottom:0;left:50%;z-index:-2;pointer-events:none;
    width:calc(var(--col) + var(--feather) * 2);transform:translateX(-50%);
    background:linear-gradient(90deg,transparent,rgba(0,0,0,.35) calc(var(--feather) * .3),rgba(0,0,0,.75) calc(var(--feather) * .6),#000 var(--feather),#000 calc(100% - var(--feather)),rgba(0,0,0,.75) calc(100% - var(--feather) * .6),rgba(0,0,0,.35) calc(100% - var(--feather) * .3),transparent);
  }
  /* viñeta: los laterales se oscurecen arriba, abajo y hacia los bordes de pantalla */
  html.has-vor body::before{
    content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
    background:
      linear-gradient(90deg,rgba(0,0,0,.55),transparent 14%,transparent 86%,rgba(0,0,0,.55)),
      linear-gradient(180deg,rgba(0,0,0,.35),transparent 22%,transparent 70%,rgba(0,0,0,.6));
  }
  html.has-vor .pj-next{max-width:var(--col);margin-inline:auto;border-radius:clamp(10px,1.2vw,18px);}
}
@media (prefers-reduced-motion:reduce){html.has-vor .pj-vor{transition:none;}}

/* ══════════ NAV (pill de cristal, siempre visible) ══════════ */
.pj-nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;justify-content:space-between;align-items:center;padding:1rem 2.5rem;}
.pj-nav::before{
  content:"";position:absolute;inset:.45rem 1.1rem;z-index:-1;border-radius:99px;pointer-events:none;
  background:linear-gradient(180deg,rgba(28,28,34,.62),rgba(12,12,16,.5));
  border:1px solid var(--g-line);
  box-shadow:var(--g-hi),0 10px 30px -10px rgba(0,0,0,.8);
  -webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass);
  opacity:0;transform:translate3d(0,-10px,0) scale(.97);
  transition:opacity .6s var(--ease-out),transform .8s var(--ease-out);
}
.pj-nav.solid::before{opacity:1;transform:none;}
.pj-logo{font-size:11px;font-weight:900;letter-spacing:.18em;transition:opacity .2s;}
.pj-logo:hover{opacity:.7;}
.pj-nav-r{display:flex;gap:1.5rem;align-items:center;}
.pj-nav-r a{position:relative;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);padding:4px 0;transition:color .2s;}
.pj-nav-r a:hover{color:var(--txt);}
.pj-nav-r a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-out);}
.pj-nav-r a:hover::after{transform:scaleX(1);transform-origin:left;}
.pj-back{display:inline-flex;align-items:center;gap:.5em;}
.pj-back span{display:inline-block;transition:transform .45s var(--ease-out);}
.pj-back:hover span{transform:translateX(-4px);}

/* ══════════ CABECERA ══════════ */
.pj-wrap{max-width:var(--col);margin:0 auto;padding:0 var(--pad);}
.pj-head{padding-top:clamp(7rem,18vh,11rem);padding-bottom:clamp(1.75rem,4vh,3rem);container-type:inline-size;}
.pj-ey-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:clamp(.9rem,2vh,1.4rem);}
.pj-ey{display:inline-flex;align-items:center;gap:.6em;font-size:clamp(10px,.95vw,12px);letter-spacing:.2em;text-transform:uppercase;color:var(--dim);}
.pj-ey::before{content:"";width:6px;height:6px;border-radius:50%;background:#ff3fd8;box-shadow:0 0 10px #ff3fd8,0 0 22px rgba(255,63,216,.6);}
.pj-idx{font-family:'Barlow Condensed',sans-serif;font-weight:400;font-size:clamp(12px,1.1vw,15px);letter-spacing:.14em;color:var(--faint);}
.pj-title{font-weight:900;text-transform:uppercase;letter-spacing:-.035em;line-height:.88;font-size:clamp(40px,8.4vw,136px);font-size:clamp(40px,10.8cqi,136px);text-wrap:balance;}
.pj-role{margin-top:clamp(.9rem,2vh,1.4rem);font-family:'Barlow Condensed',sans-serif;font-weight:400;font-size:clamp(14px,1.5vw,20px);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);}

/* ══════════ PLAYER PRINCIPAL ══════════ */
.pj-player{position:relative;border-radius:clamp(10px,1.2vw,18px);overflow:hidden;background:#050507;box-shadow:var(--sh-3),0 0 0 1px rgba(255,255,255,.07);aspect-ratio:16/9;max-width:min(100%,calc(86vh * var(--ar,1.7778)));margin:0 auto;}
.pj-player video,.pj-player img{width:100%;height:100%;object-fit:contain;background:#000;}
.pj-snd{
  position:absolute;top:14px;left:14px;z-index:5;width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;
  background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.18);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  transition:background .2s,transform .3s var(--ease-out);
}
.pj-snd:hover{background:rgba(255,255,255,.18);transform:scale(1.08);}
.pj-snd[hidden]{display:none;}
.pj-snd .snd-off{display:none;}
.pj-snd.is-muted .snd-on{display:none;}
.pj-snd.is-muted .snd-off{display:block;}

/* ══════════ INFO ══════════ */
.pj-info{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(2rem,6vw,7rem);padding:clamp(3rem,9vh,6.5rem) 0;border-bottom:1px solid rgba(255,255,255,.08);}
.pj-desc{font-size:clamp(18px,2vw,28px);line-height:1.45;font-weight:300;color:rgba(255,255,255,.88);text-wrap:pretty;}
.pj-meta{display:grid;gap:clamp(1.1rem,2.4vh,1.6rem);align-content:start;}
.pj-meta dt{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:.4rem;}
.pj-meta dd{font-size:clamp(14px,1.15vw,16px);line-height:1.5;color:var(--txt);}
.pj-tags{display:flex;flex-wrap:wrap;}
.pj-tags span+span::before{content:"·";margin:0 .55em;opacity:.5;}
.pj-ext{display:inline-flex;align-items:center;gap:.5em;margin-top:.3rem;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:3px;width:fit-content;transition:color .2s,border-color .2s;}
.pj-ext:hover{color:#fff;border-color:#fff;}

/* ══════════ GALERIA ══════════ */
.pj-gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.6rem,1.2vw,1.25rem);padding:clamp(3rem,9vh,6.5rem) 0;}
.pj-gal figure{position:relative;border-radius:clamp(8px,1vw,14px);overflow:hidden;background:#0a0a0c;box-shadow:0 20px 50px -24px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.05);}
.pj-gal figure.wide{grid-column:1/-1;}
.pj-gal figure.solo{grid-column:1/-1;justify-self:center;width:calc(50% - clamp(.3rem,.6vw,.625rem));}
.pj-gal img,.pj-gal video{width:100%;height:auto;}
.pj-gal img{cursor:zoom-in;transition:transform 1.2s var(--ease-out);}
.pj-gal figure:hover img{transform:scale(1.025);}

/* ══════════ SIGUIENTE PROYECTO ══════════ */
.pj-next{position:relative;display:block;margin-top:clamp(1rem,4vh,3rem);height:clamp(320px,62vh,640px);overflow:hidden;isolation:isolate;}
.pj-next-bg{position:absolute;inset:0;z-index:-1;}
.pj-next-bg img{width:100%;height:100%;object-fit:cover;opacity:.45;transform:scale(1.04);transition:transform 1.4s var(--ease-out),opacity .6s;}
.pj-next-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#000 0%,rgba(0,0,0,.25) 35%,rgba(0,0,0,.35) 70%,#000 100%);}
.pj-next:hover .pj-next-bg img{transform:scale(1);opacity:.7;}
.pj-next .pj-wrap{height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(2rem,7vh,4.5rem);}
.pj-next-lbl{display:flex;align-items:center;gap:.8em;font-size:clamp(10px,.95vw,12px);letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:clamp(.6rem,1.5vh,1rem);}
.pj-next-lbl i{font-style:normal;display:inline-block;transition:transform .6s var(--ease-out);}
.pj-next:hover .pj-next-lbl i{transform:translateX(8px);}
.pj-next-t{font-weight:900;text-transform:uppercase;letter-spacing:-.035em;line-height:.88;font-size:clamp(34px,7vw,112px);text-wrap:balance;}
.pj-next-c{margin-top:.8rem;font-family:'Barlow Condensed',sans-serif;font-size:clamp(14px,1.4vw,19px);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);}

/* ══════════ PIE ══════════ */
.pj-foot{padding-top:clamp(3rem,10vh,6rem);padding-bottom:2rem;}
.pj-cta{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;padding-bottom:clamp(2.5rem,7vh,4rem);border-bottom:1px solid rgba(255,255,255,.08);}
.pj-cta-k{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:.8rem;}
.pj-mail{font-family:'Archivo Black','DM Sans',sans-serif;font-size:clamp(22px,3.6vw,52px);letter-spacing:-.01em;line-height:1;transition:opacity .2s;}
.pj-mail:hover{opacity:.7;}
.pj-soc{display:flex;gap:1.5rem;}
.pj-soc a{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);transition:color .2s;}
.pj-soc a:hover{color:#fff;}
.pj-copy{display:flex;justify-content:space-between;gap:1rem;padding-top:1.5rem;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);}

/* ══════════ CARRUSEL (layout:'carousel') ══════════ */
.pj-car-view{position:relative;border-radius:clamp(10px,1.2vw,18px);overflow:hidden;background:#050507;box-shadow:var(--sh-3),0 0 0 1px rgba(255,255,255,.07);max-width:min(100%,calc(80vh * 1.7778));margin:0 auto;}
.pj-car-track{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;}
.pj-car-track::-webkit-scrollbar{display:none;}
.pj-car-track:focus-visible{outline-offset:-3px;}
.pj-slide{flex:0 0 100%;height:100%;scroll-snap-align:center;scroll-snap-stop:always;}
.pj-slide video{width:100%;height:100%;object-fit:cover;background:#000;}
.pj-car-nav{
  position:absolute;top:50%;z-index:3;width:46px;height:46px;margin-top:-23px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.04));
  border:1px solid var(--g-line);box-shadow:var(--g-hi),0 8px 24px -8px rgba(0,0,0,.8);
  -webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass);
  transition:background .2s,transform .35s var(--ease-out),opacity .3s;
}
.pj-car-nav:hover{background:rgba(255,255,255,.2);transform:scale(1.08);}
.pj-car-nav.prev{left:clamp(.6rem,1.5vw,1.25rem);}
.pj-car-nav.next{right:clamp(.6rem,1.5vw,1.25rem);}
.pj-car .pj-snd.is-muted{animation:pjSndPulse 2.2s ease-in-out infinite;}   /* invita a activar el sonido */
@keyframes pjSndPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,63,216,0);}50%{box-shadow:0 0 0 6px rgba(255,63,216,.28);}}
.pj-car-bar{
  position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:center;gap:clamp(.6rem,1.2vw,1rem);
  padding:clamp(1.6rem,4vw,3rem) clamp(.75rem,1.6vw,1.25rem) clamp(.6rem,1.2vw,.9rem);
  background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,0));
  opacity:.55;transition:opacity .35s;
}
.pj-car-view:hover .pj-car-bar,.pj-car-bar:focus-within,.pj-car-bar.is-paused{opacity:1;}
.pj-car-play{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);transition:background .2s;}
.pj-car-play:hover{background:rgba(255,255,255,.22);}
.pj-car-play .i-play,.pj-car-play.is-paused .i-pause{display:none;}
.pj-car-play.is-paused .i-play{display:block;}
.pj-car-seek{
  --p:0%;flex:1;min-width:0;height:18px;margin:0;background:transparent;cursor:pointer;
  -webkit-appearance:none;appearance:none;
}
.pj-car-seek::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:linear-gradient(90deg,#ff3fd8 var(--p),rgba(255,255,255,.22) var(--p));}
.pj-car-seek::-moz-range-track{height:3px;border-radius:3px;background:rgba(255,255,255,.22);}
.pj-car-seek::-moz-range-progress{height:3px;border-radius:3px;background:#ff3fd8;}
.pj-car-seek::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;margin-top:-5px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 3px rgba(255,63,216,.35),0 0 10px rgba(255,63,216,.7);transition:transform .2s;}
.pj-car-seek::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 3px rgba(255,63,216,.35),0 0 10px rgba(255,63,216,.7);}
.pj-car-seek:hover::-webkit-slider-thumb,.pj-car-seek:active::-webkit-slider-thumb{transform:scale(1.25);}
.pj-car-time{flex:0 0 auto;font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.1em;color:rgba(255,255,255,.85);font-variant-numeric:tabular-nums;}
.pj-car-count{position:absolute;right:clamp(.75rem,1.6vw,1.25rem);top:clamp(.75rem,1.4vw,1rem);z-index:3;padding:4px 11px;border-radius:99px;font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.14em;color:rgba(255,255,255,.85);background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;}
.pj-car-dots{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(.4rem,.8vw,.8rem);max-width:min(100%,calc(80vh * 1.7778));margin:clamp(.8rem,1.6vw,1.25rem) auto 0;}
.pj-car-dot{display:flex;flex-direction:column;gap:.5rem;padding:0;border:0;background:none;color:var(--faint);font:inherit;text-align:left;cursor:pointer;transition:color .25s;}
.pj-car-dot img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:7px;opacity:.45;box-shadow:0 0 0 1px rgba(255,255,255,.08);transition:opacity .3s,box-shadow .3s,transform .5s var(--ease-out);}
.pj-car-dot span{position:relative;padding-top:.45rem;font-size:clamp(9px,.8vw,11px);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pj-car-dot span::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(255,255,255,.14);}
.pj-car-dot span::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:#ff3fd8;box-shadow:0 0 8px #ff3fd8;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out);}
.pj-car-dot:hover{color:var(--dim);}
.pj-car-dot:hover img{opacity:.75;}
.pj-car-dot.on{color:var(--txt);}
.pj-car-dot.on img{opacity:1;box-shadow:0 0 0 1px rgba(255,255,255,.4);}
.pj-car-dot.on span::after{transform:scaleX(1);}

/* ══════════ FRAMES ══════════ */
.pj-frames{padding-top:clamp(3rem,9vh,6.5rem);}
.pj-sec-t{display:flex;align-items:baseline;gap:.6em;margin-bottom:clamp(1.25rem,3vh,2rem);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;line-height:.9;font-size:clamp(28px,4.4vw,64px);}
.pj-sec-t span{font-family:'Barlow Condensed',sans-serif;font-weight:400;font-size:clamp(12px,1.1vw,15px);letter-spacing:.14em;color:var(--faint);}
.pj-frames-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.4rem,.9vw,.9rem);}
.pj-frame{display:block;padding:0;border:0;border-radius:clamp(6px,.8vw,10px);overflow:hidden;background:#0a0a0c;cursor:zoom-in;box-shadow:0 14px 34px -20px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.05);}
.pj-frame img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:transform 1.2s var(--ease-out),opacity .4s;}
.pj-frame:hover img{transform:scale(1.04);}
.pj-frames-grid .pj-frame:nth-child(3n+2){transition-delay:.06s;}
.pj-frames-grid .pj-frame:nth-child(3n){transition-delay:.12s;}

/* ══════════ LIGHTBOX ══════════ */
.pj-lb{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:clamp(3.5rem,6vw,5rem) clamp(.5rem,6vw,6rem);background:rgba(0,0,0,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s;cursor:zoom-out;}
.pj-lb.open{opacity:1;visibility:visible;transition:opacity .35s;}
.pj-lb img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;cursor:default;box-shadow:var(--sh-3);transform:scale(.97);transition:transform .45s var(--ease-out);}
.pj-lb.open img{transform:none;}
.pj-lb-btn{
  position:absolute;z-index:2;width:46px;height:46px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:15px;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.04));
  border:1px solid var(--g-line);box-shadow:var(--g-hi);
  transition:background .2s,transform .35s var(--ease-out);
}
.pj-lb-btn:hover{background:rgba(255,255,255,.22);}
.pj-lb-close{top:clamp(.75rem,2vw,1.5rem);right:clamp(.75rem,2vw,1.5rem);}
.pj-lb-close:hover{transform:rotate(90deg);}
.pj-lb-prev,.pj-lb-next{top:50%;margin-top:-23px;}
.pj-lb-prev{left:clamp(.5rem,2vw,1.5rem);}
.pj-lb-next{right:clamp(.5rem,2vw,1.5rem);}
.pj-lb-count{position:absolute;bottom:clamp(1rem,3vh,1.75rem);left:50%;transform:translateX(-50%);font-family:'Barlow Condensed',sans-serif;font-size:14px;letter-spacing:.16em;color:var(--dim);}
.pj-lb.single :is(.pj-lb-prev,.pj-lb-next,.pj-lb-count){display:none;}

/* ══════════ REVEAL al hacer scroll ══════════ */
.rv{opacity:0;transform:translate3d(0,28px,0);transition:opacity 1s var(--ease-out),transform 1.2s var(--ease-out);}
.rv.in{opacity:1;transform:none;}
.pj-head .rv:nth-child(2){transition-delay:.08s;}
.pj-head .rv:nth-child(3){transition-delay:.16s;}

/* ══════════ MOVIL ══════════ */
@media (max-width:768px){
  .pj-nav{padding:1rem 1.4rem;}
  .pj-nav::before{inset:.45rem .6rem;}
  .pj-nav-r{gap:1.1rem;}
  .pj-nav-r .pj-hide-m{display:none;}
  .pj-info{grid-template-columns:1fr;gap:2.25rem;}
  .pj-gal{grid-template-columns:1fr;}
  .pj-player{border-radius:10px;}
  .pj-player{max-width:min(100%,calc(78svh * var(--ar,1.7778)));}
  .pj-gal figure.solo{width:100%;}
  .pj-car-view{border-radius:10px;}
  .pj-car-nav{width:40px;height:40px;margin-top:-20px;}
  .pj-car-bar{opacity:1;padding-top:1.4rem;}
  .pj-car .pj-snd{width:38px;height:38px;}
  .pj-car-play{width:30px;height:30px;}
  .pj-car-time{font-size:12px;}
  .pj-car-dots{display:flex;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:2px;}
  .pj-car-dots::-webkit-scrollbar{display:none;}
  .pj-car-dot{flex:0 0 31%;scroll-snap-align:start;}
  .pj-frames-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pj-lb{padding:4rem .5rem;}
  .pj-lb-prev,.pj-lb-next{top:auto;bottom:1rem;margin-top:0;}
  .pj-lb-count{bottom:1.9rem;}
  .pj-snd{width:46px;height:46px;top:10px;left:10px;}
  .pj-copy{flex-direction:column;}
}
@media (prefers-reduced-motion:reduce){
  body::after,.pj-car .pj-snd.is-muted{animation:none;}
  .rv{opacity:1;transform:none;transition:none;}
  .pj-gal img,.pj-next-bg img,.pj-frame img,.pj-car-dot img{transition:none;}
}
