.page-hero--photo{background:#171717}.photo-gallery{padding:100px var(--gutter);background:var(--paper);color:var(--ink)}.photo-gallery>header{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:45px}.photo-gallery h2,.photo-process h2,.photo-field h2{font-family:var(--serif);font-size:clamp(44px,5vw,80px);font-weight:400;line-height:.95}.photo-masonry{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:360px 360px;gap:12px}.photo-masonry figure{overflow:hidden}.photo-masonry figure:first-child{grid-row:1/3}.photo-masonry figure:nth-child(4){grid-column:2/4}.photo-process{padding:100px var(--gutter);background:#d7d7d7;color:var(--ink);display:grid;grid-template-columns:.6fr 1.4fr;gap:50px}.photo-process header>p:last-child{margin-top:20px;line-height:1.55}.photo-field{padding:100px var(--gutter);background:var(--black);color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center}.photo-field p:last-child{margin-top:20px;line-height:1.55;opacity:.7}
/* Magazine-style photography layout */
.photo-gallery--editorial>header{align-items:end}.photo-gallery--editorial>header>div{max-width:760px}.photo-gallery--editorial>header p{margin-top:14px;line-height:1.55;opacity:.7}.photo-magazine{display:grid;grid-template-columns:1.25fr .7fr .8fr;grid-template-rows:280px 220px 300px;gap:12px;min-height:824px}.photo-magazine .mag{overflow:hidden;min-width:0}.photo-magazine .mag--hero{grid-row:1/3}.photo-magazine .mag--portrait{grid-column:2;grid-row:1/2}.photo-magazine .mag--wide{grid-column:2/4;grid-row:2/3}.photo-magazine .mag--small{grid-column:3;grid-row:1/2}.photo-magazine .mag--tall{grid-column:1;grid-row:3}.photo-magazine .mag--small2{grid-column:2/4;grid-row:3}.photo-magazine img{transition:transform .5s ease}.photo-magazine figure:hover img{transform:scale(1.015)}.field-note{margin-top:22px!important;font-size:12px;opacity:.52!important}.field-editorial-placeholder{min-height:520px;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;background:linear-gradient(145deg,#221e1a,#0d0d0c);border:1px solid rgba(255,255,255,.14)}.field-editorial-placeholder span{font-family:var(--serif);font-size:clamp(34px,4vw,62px);line-height:.95}.field-editorial-placeholder small{margin-top:18px;text-transform:uppercase;letter-spacing:.14em;opacity:.46}

/* Preserve faces and make the BTS section feel editorial rather than like a file grid. */
.photo-magazine .mag--hero img,.photo-magazine .mag--portrait img,.photo-magazine .mag--small img,.photo-magazine .mag--tall img{object-position:center 18%}
.photo-magazine .mag--wide img,.photo-magazine .mag--small2 img{object-position:center 32%}







/* V8 — preserve portrait framing and use a real editorial Forum layout. */
.photo-magazine .mag{background:#ded7cc;display:grid;place-items:center}
.photo-magazine .mag img{width:100%;height:100%;object-fit:contain;object-position:center}
.photo-field{align-items:start}
.photo-field-copy{position:static;top:auto;align-self:start}
.forum-magazine{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:330px 260px 260px;gap:12px;min-width:0}
.forum-shot{overflow:hidden;background:#181817;min-width:0}
.forum-shot--hero{grid-row:1/3}
.forum-shot--portrait{grid-column:2;grid-row:1}
.forum-shot--wide{grid-column:2;grid-row:2}
.forum-shot--small{grid-column:1;grid-row:3}
.forum-shot--small2{grid-column:2;grid-row:3}
.forum-shot--small3{display:none}
.forum-shot img{width:100%;height:100%;object-fit:contain;object-position:center;background:#181817}
.forum-shot[hidden],.forum-shot:has(img[hidden]){display:none}
@media (max-width:900px){
  .photo-field-copy{position:static}
  .forum-magazine{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .forum-shot,.forum-shot--hero,.forum-shot--portrait,.forum-shot--wide,.forum-shot--small,.forum-shot--small2,.forum-shot--small3{display:grid;grid-column:auto;grid-row:auto;min-height:320px}
}
@media (max-width:520px){
  .photo-magazine{display:grid;grid-template-columns:1fr;grid-template-rows:auto;min-height:0}
  .photo-magazine .mag,.photo-magazine .mag--hero,.photo-magazine .mag--portrait,.photo-magazine .mag--wide,.photo-magazine .mag--small,.photo-magazine .mag--tall,.photo-magazine .mag--small2{grid-column:auto;grid-row:auto;min-height:0;aspect-ratio:4/5}
  .forum-magazine{grid-template-columns:1fr}
  .forum-shot,.forum-shot--hero,.forum-shot--portrait,.forum-shot--wide,.forum-shot--small,.forum-shot--small2,.forum-shot--small3{min-height:0;aspect-ratio:4/5}
}


/* V10 — editorial photo wall: preserve each image's natural ratio instead of forcing it into fixed boxes. */
.photo-magazine{display:block;columns:3;column-gap:14px;min-height:0}
.photo-magazine .mag,.photo-magazine .mag--hero,.photo-magazine .mag--portrait,.photo-magazine .mag--wide,.photo-magazine .mag--small,.photo-magazine .mag--tall,.photo-magazine .mag--small2{display:block;break-inside:avoid;grid-column:auto;grid-row:auto;margin:0 0 14px;overflow:hidden;background:transparent}
.photo-magazine .mag img{display:block;width:100%;height:auto;object-fit:initial;object-position:initial;background:transparent}
.photo-magazine figure:hover img{transform:none}
.photo-field{align-items:start}
.photo-field-copy{position:static;top:auto;align-self:start}
.forum-magazine{display:block;columns:2;column-gap:14px;min-width:0}
.forum-shot,.forum-shot--hero,.forum-shot--portrait,.forum-shot--wide,.forum-shot--small,.forum-shot--small2,.forum-shot--small3{display:block;break-inside:avoid;grid-column:auto;grid-row:auto;min-height:0;margin:0 0 14px;overflow:hidden;background:transparent}
.forum-shot--small3{display:block}
.forum-shot img{display:block;width:100%;height:auto;object-fit:initial;object-position:initial;background:transparent}
.forum-shot[hidden],.forum-shot:has(img[hidden]){display:none}

/* V12 — BTS videos presented in landscape frames. */







/* V14 — sélection photo en deux lignes éditoriales, petite / grande / petite. */
.photo-magazine--v14{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:14px;
  row-gap:18px;
  align-items:start;
}
.photo-magazine--v14 .mag{
  display:block;
  margin:0;
  min-width:0;
  overflow:hidden;
  background:transparent;
}
.photo-magazine--v14 .mag:nth-child(1){grid-column:span 3}
.photo-magazine--v14 .mag:nth-child(2){grid-column:span 5}
.photo-magazine--v14 .mag:nth-child(3){grid-column:span 4}
.photo-magazine--v14 .mag:nth-child(4){grid-column:span 5}
.photo-magazine--v14 .mag:nth-child(5){grid-column:span 3}
.photo-magazine--v14 .mag:nth-child(6){grid-column:span 4}
.photo-magazine--v14 .mag img{
  display:block;
  width:100%;
  height:auto;
  object-fit:initial;
  object-position:initial;
}

/* V14 — backstage3 principal; backstage4 plus large que backstage2 en bas. */






/* V15 — definitive editorial photo wall.
   Natural image ratios + CSS columns avoid collisions between screen widths. */
.photo-magazine--v14{
  display:block;
  columns:3;
  column-gap:14px;
  min-height:0;
}
.photo-magazine--v14 .mag,
.photo-magazine--v14 .mag:nth-child(n){
  display:block;
  width:100%;
  height:auto;
  min-height:0;
  margin:0 0 14px;
  break-inside:avoid;
  grid-column:auto;
  grid-row:auto;
  overflow:hidden;
  background:transparent;
}
.photo-magazine--v14 .mag img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:initial;
  object-position:initial;
}

/* Main BTS + two secondary landscape frames, all bound to their parents. */








/* V16 — BTS videos keep their intrinsic ratio; gallery/image layout is otherwise untouched. */





/* V17 — BTS: ratios naturels, portraits bornés et centrés. */
.bts-grid--editorial{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);grid-template-rows:auto auto;gap:14px;align-items:start;min-width:0}
.bts-grid--editorial .bts-card{display:flex;justify-content:center;align-items:flex-start;width:100%;min-width:0;height:auto;min-height:0;overflow:visible;background:transparent}
.bts-grid--editorial .bts-card--wide{grid-column:1/3;grid-row:1;justify-self:center}
.bts-grid--editorial .bts-card--tall{grid-column:1;grid-row:2}
.bts-grid--editorial .bts-card--small{grid-column:2;grid-row:2}
.bts-grid--editorial .bts-card video{display:block;width:auto;height:auto;max-width:100%;max-height:68vh;margin:0 auto;object-fit:contain;background:#111}
.bts-grid--editorial .bts-card--wide video{max-height:72vh}
.bts-grid--editorial .bts-card--tall video,.bts-grid--editorial .bts-card--small video{max-height:64vh}
@media (max-width:900px){.bts-grid--editorial{grid-template-columns:1fr}.bts-grid--editorial .bts-card--wide,.bts-grid--editorial .bts-card--tall,.bts-grid--editorial .bts-card--small{grid-column:1;grid-row:auto}.bts-grid--editorial .bts-card video{max-height:72svh}}
