/* ---------- series header ---------- */
.s-head{padding:var(--page-head-top,168px) 0 var(--page-head-bottom,44px)}
.s-head .kick{margin-bottom:30px}
.s-head h1{font-family:"Bodoni Moda",serif;font-weight:400;font-size:clamp(56px,11vw,180px);
  line-height:.88;letter-spacing:-.015em;margin-bottom:30px}
.s-head h1 em{font-style:italic}
.s-head .stand{font-family:"Archivo",sans-serif;font-size:clamp(16px,1.25vw,18.5px);
  font-weight:600;line-height:1.66;letter-spacing:.002em;max-width:660px;color:var(--bone);text-wrap:pretty}
.s-meta{display:flex;gap:54px;flex-wrap:wrap;margin-top:42px;padding-top:24px;border-top:1px solid var(--line)}
.s-meta div{font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--mute);line-height:1.7}
.s-meta b{display:block;color:var(--bone);font-weight:400;font-size:10px;letter-spacing:.2em;margin-bottom:4px}

/* three-column gallery */
.series-grid{column-count:3;column-gap:var(--masonry-gap,34px);padding:34px 0 60px}
.frame{break-inside:avoid;margin-bottom:34px;display:block}
.frame-open{display:block;width:100%;padding:0;border:none;background:none;color:inherit;text-align:left}
.frame .ph{width:100%;position:relative;overflow:hidden;
  background:repeating-linear-gradient(128deg,var(--ph-a) 0 13px,var(--ph-b) 13px 26px)}
.frame .ph img{display:block;width:100%;height:100%;object-fit:cover;filter:var(--imgf);
  transition:transform .9s var(--ease),filter .6s}
.frame .ph::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,0);transition:background .5s;pointer-events:none}
.frame-open:hover .ph img{transform:scale(1.045)}
.frame-open:hover .ph::after{background:rgba(0,0,0,.12)}
.frame-cap{padding-top:12px;font-family:"Space Mono",monospace;font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--mute);line-height:1.55}
.frame-cap b{color:var(--bone);font-weight:400}

/* lightbox */
.lb{position:fixed;inset:0;z-index:150;display:flex;flex-direction:column;
  background:rgba(8,6,5,.97);backdrop-filter:blur(6px);
  opacity:0;visibility:hidden;transition:opacity .45s var(--ease)}
.lb.open{opacity:1;visibility:visible}
.lb-top{display:flex;justify-content:space-between;align-items:center;padding:26px 40px;
  font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.16em;color:oklch(0.78 0.01 80);text-transform:uppercase}
.lb-top .cnt b{color:#fff;font-weight:400}
.lb-close{background:none;border:1px solid rgba(255,255,255,.25);color:#fff;
  font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  padding:8px 16px;border-radius:100px;transition:.3s}
.lb-close:hover{background:#fff;color:#000}
.lb-stage{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:0 30px;min-height:0}
.lb-stage img{max-width:min(1100px,84vw);max-height:74vh;object-fit:contain;
  filter:grayscale(.12) contrast(1.04);box-shadow:0 40px 120px rgba(0,0,0,.6);
  opacity:0;transform:scale(.985);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.lb.show-img .lb-stage img{opacity:1;transform:scale(1)}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);
  width:60px;height:60px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:none;
  color:#fff;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;box-sizing:border-box;transition:.3s}
.lb-nav:hover{background:#fff;color:#000;border-color:#fff}
.lb-nav.lb-prev{left:34px}.lb-nav.lb-next{right:34px}
.lb-cap{padding:22px 40px 34px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;
  border-top:1px solid rgba(255,255,255,.12)}
.lb-cap .t{font-family:"Bodoni Moda",serif;font-size:clamp(20px,3.5vw,26px);color:#fff}
.lb-cap .t em{font-style:italic;color:var(--accent)}
.lb-cap .m{font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.1em;
  color:oklch(0.74 0.01 80);text-transform:uppercase;text-align:right;line-height:1.7}

/* next series */
.next{border-top:1px solid var(--line);margin-top:60px;padding:64px 0 0}
.next a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}
.next .lab{font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:18px}
.next .ttl{font-family:"Bodoni Moda",serif;font-size:clamp(40px,7vw,104px);line-height:.94;
  letter-spacing:-.01em;transition:color .4s}
.next .ttl em{font-style:italic}
.next a:hover .ttl{color:var(--accent)}
.next .thumb{width:230px;height:150px;overflow:hidden;flex-shrink:0}
.next .thumb .ph{width:100%;height:100%}
.next .thumb img{transition:transform .9s var(--ease)}
.next a:hover .thumb img{transform:scale(1.06)}
