/* Photographs + Films — horizontal infinite stream (Photoyoshi/Clennon register).
   Scoped to the CPT archives; full-viewport app view. */

body.post-type-archive-photograph,
body.post-type-archive-film{overflow:hidden;height:100vh}

.pg-app .submenu{position:fixed;z-index:41;top:calc(78px + clamp(44px,8.5vw,124px) + 26px);right:40px;display:flex;align-items:center;gap:16px;
  font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.pg-app .submenu button{font-family:inherit;background:none;border:0;cursor:pointer;color:var(--dim);padding:0 0 3px;transition:color .25s}
.pg-app .submenu button:hover{color:var(--fg)}
.pg-app .submenu button.on{color:var(--fg);border-bottom:1.5px solid var(--fg)}
.pg-app .submenu .divider{width:1px;height:14px;background:var(--line)}

/* ===== the stream ===== */
.pg-app .ak-stage{position:fixed;inset:0;will-change:transform;touch-action:none}
.pg-app .card{position:absolute;top:0;left:0;will-change:transform;cursor:pointer}
.pg-app .card .ph{position:relative;overflow:hidden;width:100%;height:100%}
.pg-app .card img{filter:grayscale(1) contrast(1.05) brightness(.85);transition:filter .9s ease;will-change:transform}
.pg-app .card.lit img{filter:grayscale(0) contrast(1.02) brightness(.95)}
.pg-app .card .cl{position:absolute;left:2px;bottom:-32px;display:flex;gap:14px;align-items:baseline;white-space:nowrap;
  opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}
.pg-app .card.lit .cl{opacity:1;transform:none}
.pg-app .card .cl .t{font-weight:700;font-size:15px;letter-spacing:-.01em}
.pg-app .card .cl .c{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
/* films: title over the role credit (which can be longer than a category tag) */
.pg-app.is-films .card .cl{flex-direction:column;gap:5px;white-space:normal;max-width:40vw}
.pg-app.is-films .card .cl .c{text-transform:none;letter-spacing:.01em;font-size:12px;color:#B9B7B2}
.pg-app.is-films .card .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;
  border:1.5px solid rgba(244,243,241,.85);display:flex;align-items:center;justify-content:center;color:#fff;font-size:19px;padding-left:4px;
  transition:.3s;background:rgba(0,0,0,.15)}
.pg-app.is-films .card:hover .play,.pg-app.is-films .card.lit .play{background:rgba(0,0,0,.4)}

.pg-app .hud{position:fixed;z-index:30;left:40px;bottom:40px;display:flex;align-items:center;gap:16px;
  font-size:12px;font-weight:600;letter-spacing:.14em;color:#CFCDC9;font-variant-numeric:tabular-nums}
.pg-app .hud .tr{width:120px;height:1px;background:rgba(244,243,241,.25);position:relative}
.pg-app .hud .tr i{position:absolute;inset:0;background:var(--fg);transform-origin:left;transform:scaleX(0)}
.pg-app .hint{position:fixed;right:40px;bottom:40px;z-index:30;font-size:11px;letter-spacing:.2em;color:var(--dim);font-weight:600}
.pg-app .pg-credit{position:fixed;z-index:30;left:50%;bottom:22px;transform:translateX(-50%);white-space:nowrap;
  font-size:11px;letter-spacing:.03em;color:var(--dim);text-align:center}
.pg-app .pg-credit a{color:var(--dim);border-bottom:1px solid var(--line)}
.pg-app .pg-credit a:hover{color:var(--fg)}

/* ===== list / mosaic overlay (photos only) ===== */
.pg-app .ak-grid{position:absolute;inset:0;z-index:20;background:rgba(9,9,9,.98);opacity:0;pointer-events:none;
  transition:opacity .4s ease;overflow-y:auto;padding:calc(120px + clamp(44px,8.5vw,124px) + 40px) 40px 80px}
.pg-app .ak-grid.in{opacity:1;pointer-events:auto}
.pg-app .gtier{font-size:12px;font-weight:600;letter-spacing:.28em;color:var(--dim);text-transform:uppercase;margin:40px 0 16px}
.pg-app .ggrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;grid-auto-flow:dense}
.pg-app .gthumb{position:relative;overflow:hidden;cursor:pointer;aspect-ratio:3/2}
.pg-app .gthumb:nth-child(5n+1){grid-column:span 2;aspect-ratio:21/9}
.pg-app .gthumb .rev{position:absolute;inset:0;clip-path:inset(100% 0 0 0);transition:clip-path .8s cubic-bezier(.65,.05,.36,1)}
.pg-app .ak-grid.in .gthumb .rev{clip-path:inset(0 0 0 0)}
.pg-app .gthumb img{filter:grayscale(1) contrast(1.05);transform:scale(1.03);transition:filter .5s ease,transform .8s ease}
.pg-app .gthumb:hover img{filter:grayscale(0);transform:scale(1.07)}
.pg-app .gthumb .lab{position:absolute;left:12px;bottom:10px;z-index:2;font-size:12px;font-weight:600;mix-blend-mode:difference;color:#fff}

/* ===== lightbox (photos) ===== */
.pg-lb{position:fixed;inset:0;z-index:70;background:rgba(7,7,7,.97);display:none;align-items:center;justify-content:center;padding:5vh 6vw}
.pg-lb.open{display:flex}
.pg-lb figure{margin:0;max-width:92vw;max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:14px}
.pg-lb img{max-width:92vw;max-height:80vh;width:auto;height:auto;object-fit:contain}
.pg-lb figcaption{display:flex;gap:16px;align-items:baseline;color:#CFCDC9;font-size:13px}
.pg-lb .lb-t{font-weight:600}.pg-lb .lb-p{color:var(--dim)}.pg-lb .lb-n{color:var(--dim);font-variant-numeric:tabular-nums;margin-left:auto}
.pg-lb button{position:fixed;background:none;border:0;color:#EDEBE7;font-size:26px;cursor:pointer;opacity:.7;transition:opacity .25s;font-family:inherit}
.pg-lb button:hover{opacity:1}
.pg-lb .lb-close{top:24px;right:32px}.pg-lb .lb-prev{left:28px;top:50%}.pg-lb .lb-next{right:28px;top:50%}

/* ===== film player (inline expanding lightbox) ===== */
.film-lb{position:fixed;inset:0;z-index:80;background:rgba(7,7,7,.97);display:none;align-items:center;justify-content:center;padding:6vh 6vw;
  opacity:0;transition:opacity .3s ease}
.film-lb.open{display:flex;opacity:1}
.film-lb .flb-frame{position:relative;width:min(92vw,158vh);aspect-ratio:16/9;background:#000;box-shadow:0 30px 90px rgba(0,0,0,.6);
  transform:scale(.94);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.film-lb.open .flb-frame{transform:none}
.film-lb .flb-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.film-lb .flb-close{position:fixed;top:24px;right:32px;background:none;border:0;color:#EDEBE7;font-size:24px;cursor:pointer;
  opacity:.75;transition:opacity .25s;font-family:inherit;line-height:1}
.film-lb .flb-close:hover{opacity:1}
@media(max-width:820px){.film-lb{padding:0 16px}.film-lb .flb-close{top:16px;right:18px}}

@media(max-width:820px){
  .pg-app .submenu{top:84px;right:24px;flex-wrap:wrap;justify-content:flex-end}
  .pg-app .hud{left:24px;bottom:60px}.pg-app .hint{display:none}
  .pg-app .pg-credit{font-size:10px;bottom:20px;left:24px;right:24px;transform:none;text-align:left;white-space:normal;max-width:none}
  .pg-app .ggrid{grid-template-columns:1fr}
  .pg-app .gthumb,.pg-app .gthumb:nth-child(5n+1){grid-column:span 1;aspect-ratio:3/2}
  .pg-app .ak-grid{padding:150px 24px 60px}
}
/* no-JS / reduced motion: a plain horizontal scroller */
body.ak-nostream{overflow:auto;height:auto}
body.ak-nostream .pg-app .ak-stage{position:static;display:flex;gap:3vw;height:100vh;align-items:center;padding:0 6vw;width:max-content}
body.ak-nostream .pg-app .card{position:static!important;transform:none!important;width:auto!important;height:62vh!important}
body.ak-nostream .pg-app .card .ph{width:auto;height:100%;aspect-ratio:3/2}
body.ak-nostream .pg-app .card img{filter:none;width:auto;height:100%}
body.ak-nostream .pg-app .card .cl{position:static;opacity:1;transform:none;margin-top:10px}
body.ak-nostream .pg-app .hud,body.ak-nostream .pg-app .hint{display:none}
