/* Galeries photo couleur (shootings Studio) + lightbox. Pas de filtre N&B ici. */
.shoot{margin-top:72px}
.shoot:first-of-type{margin-top:0}
.shoot__h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:28px}
.shoot__h h3{color:var(--c-ink-100)}
.shoot__h p{font-size:14px;color:var(--c-ink-60)}
.mosaic{columns:2;column-gap:12px}
@media (min-width:768px){.mosaic{columns:3;column-gap:16px}}
.mosaic__lead{column-span:all;margin-bottom:12px}
@media (min-width:768px){.mosaic__lead{margin-bottom:16px}}
.mosaic__it{display:block;break-inside:avoid;margin:0 0 12px;position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--c-fill);cursor:zoom-in}
@media (min-width:768px){.mosaic__it{margin-bottom:16px}}
.mosaic__it picture,.mosaic__it img{display:block;width:100%;height:auto}
.mosaic__lead .mosaic__it{margin:0}
.mosaic__lead img{aspect-ratio:21/9;object-fit:cover}
@media (max-width:767px){.mosaic__lead img{aspect-ratio:3/2}}
.mosaic__it img{transition:transform 1.2s var(--ease-out)}
@media (hover:hover){.mosaic__it:hover img{transform:scale(1.025)}}
.mosaic__it:focus-visible{box-shadow:0 0 0 3px var(--c-mint)}
.mosaic__more{margin-top:20px}
/* Lightbox */
.lb{position:fixed;inset:0;z-index:1000;background:rgba(11,13,20,.96);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s var(--ease),visibility 0s .25s;touch-action:pan-y}
.lb.is-open{opacity:1;visibility:visible;transition:opacity .25s var(--ease)}
.lb__fig{margin:0;max-width:calc(100vw - 32px);max-height:calc(100vh - 120px);display:flex;flex-direction:column;align-items:center}
.lb__img{max-width:100%;max-height:calc(100vh - 140px);width:auto;height:auto;object-fit:contain;border-radius:8px;user-select:none;-webkit-user-drag:none}
.lb__cap{margin-top:14px;color:rgba(255,255,255,.78);font-size:14px;text-align:center;max-width:720px;padding:0 16px}
.lb__cap b{color:#14CF93;font-weight:500;margin-right:10px;font-variant-numeric:tabular-nums}
.lb__btn{position:absolute;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:background .2s}
.lb__btn:hover{background:rgba(20,207,147,.9);color:#0B0D14}
.lb__btn:focus-visible{box-shadow:0 0 0 3px #14CF93}
.lb__btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lb__close{top:16px;right:16px}
.lb__prev{left:16px;top:50%;transform:translateY(-50%)}
.lb__next{right:16px;top:50%;transform:translateY(-50%)}
@media (max-width:767px){.lb__prev,.lb__next{top:auto;bottom:16px;transform:none}.lb__fig{max-height:calc(100vh - 160px)}.lb__img{max-height:calc(100vh - 180px)}}
html.lb-lock,html.lb-lock body{overflow:hidden}
.lb[hidden]{display:none}
/* Bandeau « Nos talents ont travaillé pour » : distinct des références Capsules (fond gris, logos monochromes) */
.talents__box{border-top:1px solid rgba(11,13,20,.12);padding-top:40px}
.talents__box .eyebrow{display:block;margin-bottom:14px}
.talents__intro{max-width:640px;color:var(--c-ink-60);font-size:15px}
.logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px 40px;margin-top:28px;padding:28px 0 4px}
@media (max-width:767px){.logos{justify-content:center;gap:24px 32px}}
.logos li{display:flex;align-items:center;justify-content:center}
.logos img{height:var(--h);width:auto;max-width:none;object-fit:contain;opacity:.5;transition:opacity .3s}
.logos li:hover img{opacity:.85}
.talents__note{margin-top:14px;font-size:13px;color:var(--c-ink-60)}
.talents__eiti{display:grid;gap:24px;margin-top:48px;align-items:center}
@media (min-width:768px){.talents__eiti{grid-template-columns:5fr 7fr;gap:48px}}
.talents__eiti .pic{display:block;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:3/2;background:var(--c-fill)}
.talents__eiti img{width:100%;height:100%;object-fit:cover}
.talents__eiti h3{margin:6px 0 10px}
.talents__eiti small{font-size:13px;color:var(--c-ink-60);letter-spacing:.04em}
.talents__eiti p{color:var(--c-ink-60)}
.talents .shoot{margin-top:48px}
.logos img{object-fit:contain}
/* Page Références : grille compacte des autres références */
.refs-more__t{display:block;margin:96px 0 32px}
.refgrid.refgrid--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}
@media (min-width:1024px){.refgrid.refgrid--compact{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:40px}.refgrid.refgrid--compact>*{grid-column:span 1}}
.refgrid--compact .fig figcaption{flex-direction:column;gap:2px}
.refgrid--compact .fig figcaption b{font-size:16px}
.refgrid--compact .fig figcaption span{font-size:12px}
@media (min-width:1024px){.logos img{height:calc(var(--h) * 1.25)}}
/* Mur « Ils nous ont fait confiance » (/references/) */
.clients{margin-top:112px}
.clients__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 24px;padding-top:40px;border-top:1px solid var(--c-line)}
.clients__t{display:flex;align-items:center;gap:8px;margin:0}
.clients__count{margin:0;font-size:14px;color:var(--c-ink-60)}
.clients__count b{font-family:var(--font-editorial);font-weight:400;font-size:28px;line-height:1;color:var(--c-ink-100);margin-right:6px;font-variant-numeric:tabular-nums}
.clients__filters{display:flex;gap:8px;margin-top:24px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px;margin-inline:-2px;scroll-snap-type:x proximity}
.clients__filters::-webkit-scrollbar{display:none}
.clients__filters[hidden]{display:none}
.cfilt{flex:none;scroll-snap-align:start;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 16px;border:0;border-radius:var(--radius-pill);background:transparent;box-shadow:inset 0 0 0 1px var(--c-line-strong);font:400 13px/1 var(--font-sans);color:var(--c-ink-80);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}
.cfilt span{font-size:11px;color:var(--c-ink-50);font-variant-numeric:tabular-nums}
.cfilt:hover{box-shadow:inset 0 0 0 1px var(--c-ink-100)}
.cfilt[aria-pressed="true"]{background:var(--c-black);color:var(--c-white);box-shadow:none}
.cfilt[aria-pressed="true"] span{color:var(--c-mint)}
.cfilt:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.clients__wall{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ctile[hidden]{display:none}
.ctile__in{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1/1;padding:16px 12px;border-radius:var(--radius-md);background:var(--c-fill);color:var(--c-ink-100);text-decoration:none;overflow:hidden;transition:background-color var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease),transform var(--dur-base) var(--ease-out)}
.ctile__logo{position:relative;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;flex:1;width:100%;min-width:0}
.ctile__logo img,.ctile__col{grid-area:1/1;height:var(--h);width:auto;max-width:100%;object-fit:contain;transition:opacity var(--dur-slow) var(--ease)}
.ctile__col{opacity:0;aspect-ratio:auto;background:center/contain no-repeat}
.ctile__mono{opacity:.78}
.ctile__go{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--c-white);color:var(--c-ink-100);opacity:0;transform:translate(-4px,4px);transition:opacity var(--dur-base) var(--ease),transform var(--dur-base) var(--ease-out)}
.ctile__go .ico{width:12px;height:12px}
.ctile__in:focus-visible{outline:none;box-shadow:var(--focus-ring)}
@media (hover:hover){
  .ctile__logo{transition:transform var(--dur-slow) var(--ease-out)}
  .ctile:hover .ctile__in,.ctile__in:focus-visible{background:var(--c-white);box-shadow:inset 0 0 0 1px var(--c-line),var(--shadow-md)}
  .ctile:hover .ctile__col,.ctile__in:focus-visible .ctile__col{opacity:1}
  .ctile:hover .ctile__mono,.ctile__in:focus-visible .ctile__mono{opacity:0}
  .ctile:hover .ctile__go,.ctile__in:focus-visible .ctile__go{opacity:1;transform:none}
}
.ctile.is-pop{animation:ctile-in var(--dur-slow) var(--ease-out) both;animation-delay:var(--d,0ms)}
@keyframes ctile-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media (max-width:639px) and (hover:none){.ctile__in{padding:10px;border-radius:var(--radius-sm)}}
@media (min-width:640px){.clients__wall{gap:8px}}
@media (min-width:900px){.clients__wall{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.clients__filters{flex-wrap:wrap;overflow:visible}.ctile__in{aspect-ratio:4/3}}
@media (min-width:1200px){.clients__wall{grid-template-columns:repeat(7,minmax(0,1fr))}.ctile__in{aspect-ratio:1/1}}
@media (prefers-reduced-motion:reduce){.ctile__in,.ctile__logo,.ctile__logo img,.ctile__go{transition:none}.ctile.is-pop{animation:none}}
.clients + .refs-more__t{margin-top:112px}
