/* ============================================
   PAM v1 — Gallery page styles (dark + acid)
   Three variants: .pa (editorial), .pb (cinematic), .pc (split case-study)
   ============================================ */

.pg-nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 var(--sp-4);z-index:100;background:rgba(11,11,11,.72);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.pg-nav a{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:none}
.pg-nav a:hover{color:var(--acid)}
.pg-nav__menu{display:flex;gap:var(--sp-4);align-items:center}
.pg-nav__menu a{color:var(--ink-muted)}
@media (max-width:700px){.pg-nav__menu{gap:var(--sp-2)}.pg-nav__menu a{font-size:0.62rem}}
.pg-nav__logo{font-weight:700;letter-spacing:.08em}
.pg-nav__logo span{color:var(--acid)}

.pg-foot{border-top:1px solid var(--line);padding:var(--sp-8) var(--sp-4);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--sp-4);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}
.pg-foot a{color:var(--acid);text-decoration:none}

/* ============================================
   A · Editorial magazine — Pierre Cardin
   ============================================ */
.pa{padding-top:var(--nav-h);background:var(--bg);color:var(--ink);min-height:100vh}
.pa__hero{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-8);padding:var(--sp-12) var(--sp-4) var(--sp-8);border-bottom:1px solid var(--line)}
.pa__meta{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);display:flex;flex-direction:column;gap:.5rem}
.pa__meta strong{color:var(--acid);font-weight:500}
.pa__title{font-family:var(--font-display);font-weight:800;font-size:clamp(2.2rem,4.5vw,4.2rem);line-height:.98;letter-spacing:-0.03em;margin:0}
.pa__title em{font-style:italic;font-weight:400;color:var(--acid)}
.pa__lede{margin-top:var(--sp-4);font-family:var(--font-sans);font-size:var(--fs-lg);line-height:1.45;color:var(--ink-muted);max-width:50ch}
.pa__lede strong{color:var(--ink);font-weight:500}

.pa__specs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:1px solid var(--line)}
.pa__specs > div{padding:var(--sp-4);border-right:1px solid var(--line);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase}
.pa__specs > div:last-child{border-right:0}
.pa__specs dt{color:var(--ink-muted);margin-bottom:.25rem}
.pa__specs dd{color:var(--ink);margin:0;font-weight:500}

.pa__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(4px, 0.6vw, 14px);background:transparent;padding:0}
.pa__cell{background:#0a0a0a;cursor:zoom-in;overflow:hidden;position:relative}
.pa__cell img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.pa__cell:hover img{transform:scale(1.02)}
.pa__cell.wide{grid-column:span 12;aspect-ratio:21/9}
.pa__cell.half{grid-column:span 6;aspect-ratio:4/5}
.pa__cell.third{grid-column:span 4;aspect-ratio:3/4}
.pa__cell.twothirds{grid-column:span 8;aspect-ratio:3/2}
.pa__cell.portrait{grid-column:span 6;aspect-ratio:3/4}
.pa__cell.wide-7{grid-column:span 7;aspect-ratio:3/2}
.pa__cell.wide-5{grid-column:span 5;aspect-ratio:3/4}

.pa__pull{grid-column:1 / -1;padding:var(--sp-12) var(--sp-8);font-family:var(--font-display);font-weight:600;font-size:clamp(1.8rem,3.5vw,3.5rem);line-height:1.15;letter-spacing:-0.02em;text-align:center;background:var(--bg)}
.pa__pull em{font-style:italic;color:var(--acid);font-weight:400}

/* SEO copy block — between specs and gallery */
.pa__seo{max-width:1100px;margin:0 auto;padding:var(--sp-10) var(--sp-4);display:grid;grid-template-columns:1fr 2fr;gap:var(--sp-8);border-bottom:1px solid var(--line)}
.pa__seo h2{font-family:var(--font-display);font-weight:700;font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.1;margin:0;letter-spacing:-0.02em}
.pa__seo h2 em{font-style:italic;color:var(--acid);font-weight:400}
.pa__seo-body p{font-family:var(--font-sans);font-size:clamp(.98rem,1.1vw,1.12rem);line-height:1.65;color:var(--ink-muted);margin:0 0 1rem}
.pa__seo-body p strong{color:var(--ink);font-weight:500}
.pa__seo-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--sp-4)}
.pa__seo-tags span{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);border:1px solid var(--line);padding:.35rem .6rem;border-radius:2px}
@media (max-width:800px){.pa__seo{grid-template-columns:1fr;gap:var(--sp-4);padding:var(--sp-6) var(--sp-4)}}

/* Clean variant — hero image full-width, then 2-col pairs (mimics pamistanbul.com) */
.pa__grid--clean{max-width:1400px;margin:0 auto;padding:var(--sp-6) var(--sp-4);gap:clamp(6px, 0.8vw, 16px)}
.pa__grid--clean .pa__cell{aspect-ratio:auto;background:#0a0a0a;display:flex;align-items:center;justify-content:center;min-height:0}
.pa__grid--clean .pa__cell img{width:100%;height:auto;max-height:90vh;object-fit:contain;aspect-ratio:auto}
.pa__grid--clean .pa__cell.full{grid-column:span 12}
.pa__grid--clean .pa__cell.pair{grid-column:span 6}
.pa__grid--clean .pa__cell.trio{grid-column:span 4}
.pa__grid--clean .pa__cell.quad{grid-column:span 3}
@media (max-width:900px){
  .pa__grid--clean .pa__cell.trio{grid-column:span 6}
  .pa__grid--clean .pa__cell.quad{grid-column:span 6}
}
@media (max-width:600px){
  .pa__grid--clean .pa__cell.pair,
  .pa__grid--clean .pa__cell.trio,
  .pa__grid--clean .pa__cell.quad{grid-column:span 12}
}

@media (max-width:900px){
  .pa__hero{grid-template-columns:1fr;gap:var(--sp-4)}
  .pa__specs{grid-template-columns:1fr 1fr}
  .pa__specs > div:nth-child(2){border-right:0}
  .pa__cell.half,.pa__cell.third,.pa__cell.twothirds,.pa__cell.portrait,.pa__cell.wide-7,.pa__cell.wide-5{grid-column:span 12;aspect-ratio:4/5}
}

/* ============================================
   B · Cinematic scroll — Realme
   ============================================ */
.pb{background:#050505;color:var(--ink);padding-top:var(--nav-h);min-height:100vh}
.pb__slate{max-width:1400px;margin:0 auto;padding:var(--sp-12) var(--sp-4) var(--sp-8)}
.pb__clap{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);margin-bottom:var(--sp-6)}
.pb__clap > div{padding:var(--sp-3);border-right:1px solid var(--line);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);display:flex;flex-direction:column;gap:.25rem}
.pb__clap > div:last-child{border-right:0}
.pb__clap strong{color:var(--acid);font-weight:500}
.pb__title{font-family:var(--font-display);font-weight:800;font-size:var(--fs-hero);line-height:.9;letter-spacing:-0.04em;margin:0}
.pb__title em{font-style:italic;font-weight:300;color:var(--acid)}
.pb__logline{max-width:900px;margin:var(--sp-8) auto;padding:0 var(--sp-4);font-family:var(--font-sans);font-size:var(--fs-xl);line-height:1.4;color:var(--ink-muted)}
.pb__logline strong{color:var(--ink);font-weight:500}

.pb__frames{display:flex;flex-direction:column;gap:2px;background:var(--line)}
.pb__frame{position:relative;background:#000}
.pb__frame img{display:block;width:100%;height:100%;object-fit:cover}
.pb__frame.tall{height:min(100vh,900px)}
.pb__frame .tc{position:absolute;top:var(--sp-3);left:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-xxs);letter-spacing:.12em;text-transform:uppercase;color:var(--acid);background:rgba(0,0,0,.6);padding:.25rem .5rem;backdrop-filter:blur(4px);z-index:2}
.pb__split{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.pb__split .pb__frame{aspect-ratio:4/5}
.pb__break{padding:var(--sp-16) var(--sp-8);text-align:center;font-family:var(--font-display);font-style:italic;font-size:clamp(1.5rem,3vw,2.5rem);color:var(--ink);background:#050505}
.pb__break em{color:var(--acid);font-style:italic}

@media (max-width:700px){
  .pb__clap{grid-template-columns:1fr 1fr}
  .pb__clap > div:nth-child(2){border-right:0}
  .pb__split{grid-template-columns:1fr}
}

/* ============================================
   C · Split case-study — Nike × Esra Gülmen
   ============================================ */
.pc{background:var(--bg);color:var(--ink);min-height:100vh;padding-top:var(--nav-h)}
.pc__wrap{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:0;max-width:1800px;margin:0 auto}
.pc__aside{position:sticky;top:var(--nav-h);align-self:start;height:calc(100vh - var(--nav-h));padding:var(--sp-8) var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-6);border-right:1px solid var(--line);background:var(--bg-elevated)}
.pc__eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--acid)}
.pc__title{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,4vw,3.5rem);line-height:.95;letter-spacing:-0.03em;margin:0}
.pc__title em{font-style:italic;font-weight:400;color:var(--acid)}
.pc__lede{font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.55;color:var(--ink-muted)}
.pc__lede strong{color:var(--ink);font-weight:500}
.pc__lede em{font-style:italic;color:var(--acid)}
.pc__facts{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);border-top:1px solid var(--line);padding-top:var(--sp-4);margin:0}
.pc__facts > div{display:flex;flex-direction:column;gap:.15rem}
.pc__facts dt{font-family:var(--font-mono);font-size:var(--fs-xxs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}
.pc__facts dd{margin:0;color:var(--ink);font-weight:500;font-size:var(--fs-sm)}
.pc__cta{margin-top:auto;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--acid);text-decoration:none;border-top:1px solid var(--line);padding-top:var(--sp-4)}

.pc__gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line)}
.pc__tile{position:relative;overflow:hidden;background:#000;aspect-ratio:4/5}
.pc__tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-expo)}
.pc__tile:hover img{transform:scale(1.03)}
.pc__tile.wide{grid-column:span 2;aspect-ratio:16/9}
.pc__idx{position:absolute;bottom:var(--sp-3);left:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-xxs);letter-spacing:.12em;text-transform:uppercase;color:var(--acid);background:rgba(0,0,0,.7);padding:.25rem .6rem;backdrop-filter:blur(4px)}

@media (max-width:900px){
  .pc__wrap{grid-template-columns:1fr}
  .pc__aside{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}
}

/* ============================================
   D · Strip contact-sheet — Mercedes-Benz
   ============================================ */
.pd{background:var(--bg);color:var(--ink);padding-top:var(--nav-h);min-height:100vh}
.pd__head{max-width:1800px;margin:0 auto;padding:var(--sp-12) var(--sp-6) var(--sp-6);display:grid;grid-template-columns:1fr auto;gap:var(--sp-6);align-items:end;border-bottom:1px solid var(--line)}
.pd__eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--acid);margin-bottom:var(--sp-3)}
.pd__title{font-family:var(--font-display);font-weight:800;font-size:var(--fs-hero);line-height:.9;letter-spacing:-0.04em;margin:0}
.pd__title em{font-style:italic;font-weight:300;color:var(--acid)}
.pd__stamp{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);text-align:right;line-height:1.8;border:1px solid var(--line);padding:var(--sp-3) var(--sp-4)}
.pd__stamp strong{color:var(--acid);font-weight:500}

.pd__lede{max-width:1400px;margin:0 auto;padding:var(--sp-8) var(--sp-6);font-family:var(--font-sans);font-size:var(--fs-xl);line-height:1.35;color:var(--ink-muted);border-bottom:1px solid var(--line)}
.pd__lede strong{color:var(--ink)}

.pd__strip{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--acid) var(--bg);padding:var(--sp-6) 0;border-bottom:1px solid var(--line)}
.pd__strip-inner{display:flex;gap:2px;padding:0 var(--sp-6);width:max-content}
.pd__slide{flex:0 0 auto;width:min(80vw,1100px);height:min(70vh,700px);scroll-snap-align:start;position:relative;background:#000}
.pd__slide img{display:block;width:100%;height:100%;object-fit:cover}
.pd__slide .tc{position:absolute;top:var(--sp-3);left:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-xxs);letter-spacing:.12em;text-transform:uppercase;color:var(--acid);background:rgba(0,0,0,.6);padding:.25rem .5rem;backdrop-filter:blur(4px)}

.pd__sheet{max-width:1800px;margin:0 auto;padding:var(--sp-12) var(--sp-6)}
.pd__sheet-head{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:var(--sp-4);display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:var(--sp-3)}
.pd__sheet-head strong{color:var(--acid);font-weight:500}
.pd__sheet-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;background:var(--line)}
.pd__cell{background:#000;aspect-ratio:4/5;position:relative;overflow:hidden}
.pd__cell img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.05);transition:filter .4s}
.pd__cell:hover img{filter:none}
.pd__cell::after{content:attr(data-idx);position:absolute;bottom:.3rem;right:.4rem;font-family:var(--font-mono);font-size:var(--fs-xxs);color:var(--acid);background:rgba(0,0,0,.6);padding:.1rem .3rem}

@media (max-width:900px){
  .pd__head{grid-template-columns:1fr}
  .pd__stamp{text-align:left}
  .pd__sheet-grid{grid-template-columns:repeat(3,1fr)}
}

/* .pd facts row */
.pd__facts{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4);margin-top:var(--sp-6);max-width:1400px;padding:0 var(--sp-6)}
.pd__facts dt{font-family:var(--font-mono);font-size:var(--fs-xxs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-subtle);margin-bottom:.25rem}
.pd__facts dd{font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--ink);margin:0}
@media (max-width:700px){.pd__facts{grid-template-columns:repeat(2,1fr)}}

/* ============================================
   LIGHTBOX
   ============================================ */
.lb{position:fixed;inset:0;background:rgba(6,6,6,.97);z-index:9999;display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .25s}
.lb.is-open{display:flex;opacity:1}
.lb__stage{margin:0;padding:clamp(2rem, 4vw, 5rem);width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.lb__stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:lbIn .35s cubic-bezier(.16,1,.3,1)}
@keyframes lbIn{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
.lb__close,.lb__prev,.lb__next{position:absolute;background:transparent;border:1px solid rgba(255,255,255,.15);color:#fff;font-family:'JetBrains Mono',monospace;font-size:1rem;cursor:pointer;transition:background .2s,border-color .2s;z-index:2;display:flex;align-items:center;justify-content:center}
.lb__close:hover,.lb__prev:hover,.lb__next:hover{background:rgba(213,255,62,.15);border-color:#D5FF3E;color:#D5FF3E}
.lb__close{top:1.2rem;right:1.2rem;width:44px;height:44px;border-radius:50%;font-size:1.1rem}
.lb__prev,.lb__next{top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;font-size:1.4rem}
.lb__prev{left:1.5rem}
.lb__next{right:1.5rem}
.lb__counter{position:absolute;bottom:1.2rem;left:50%;transform:translateX(-50%);font-family:'JetBrains Mono',monospace;font-size:0.7rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.lb__stage{position:relative}
.lb__zone{position:absolute;top:0;bottom:0;width:50%;cursor:pointer;z-index:1}
.lb__zone--prev{left:0;cursor:w-resize}
.lb__zone--next{right:0;cursor:e-resize}
.lb__stage img{position:relative;z-index:2;pointer-events:none}
@media (max-width:600px){
  .lb__prev,.lb__next{width:44px;height:44px;font-size:1.1rem}
  .lb__prev{left:.6rem}.lb__next{right:.6rem}
  .lb__close{top:.6rem;right:.6rem;width:38px;height:38px}
  .lb__stage{padding:1rem}
}

/* ─── SHARED GALLERY GRID ─── */
/* Masonry-style gallery: each photo keeps its natural aspect ratio */
.gallery-grid{column-count:3;column-gap:var(--sp-3,1rem);max-width:1520px;margin-inline:auto;padding:0 var(--sp-6,1.5rem) var(--sp-16,4rem)}
.gallery-grid__item{display:block;break-inside:avoid;margin:0 0 var(--sp-3,1rem);overflow:hidden;background:#0f0f0f;border-radius:2px;cursor:zoom-in;position:relative}
.gallery-grid__item img,.gallery-grid__item video{width:100%;height:auto;display:block;transition:transform 0.6s cubic-bezier(.16,1,.3,1)}
.gallery-grid__item:hover img{transform:scale(1.02)}
.gallery-grid__cap{position:absolute;left:.6rem;bottom:.6rem;font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.85);background:rgba(0,0,0,.45);padding:.25rem .55rem;border-radius:2px;backdrop-filter:blur(4px);pointer-events:none;opacity:0;transition:opacity .25s}
.gallery-grid__item:hover .gallery-grid__cap{opacity:1}
/* Legacy --wide / --tall modifiers kept harmless inside masonry */
.gallery-grid__item--wide,.gallery-grid__item--tall{aspect-ratio:auto}
@media(max-width:1100px){.gallery-grid{column-count:2}}
@media(max-width:600px){.gallery-grid{column-count:1;column-gap:var(--sp-2,.5rem);padding:0 var(--sp-4,1rem) var(--sp-10,2.5rem)}.gallery-grid__item{margin-bottom:var(--sp-2,.5rem)}}
