/* Mosaïque éditoriale : niveaux de gris, couleur au survol. */
.p-catalogue .cat-ess { background:#fff; }
.p-catalogue .cat-ess__bar { background:#fffffff5; }
.p-catalogue .cat-ess__stream { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-flow:row dense; gap:10px; padding:0; align-items:stretch; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n) { grid-column:span 4; grid-row:span 1; margin:0; padding:0; background:#f5f5f3; border:0; border-radius:0; box-shadow:none; transform:none; overflow:hidden; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+1) { grid-column:span 5; grid-row:span 2; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+2) { grid-column:span 3; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+4) { grid-column:span 3; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+5) { grid-column:span 4; grid-row:span 2; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+6) { grid-column:span 5; }
.p-catalogue .cat-ess__stream .cat-ess__item::before,.p-catalogue .cat-photo-label,.p-catalogue .cat-photo-shape { display:none; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n) .cat-ess__btn { height:calc(100% - 36px); min-height:215px; padding:20px; background:#f5f5f3; border-radius:0; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+1) .cat-ess__btn,.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+5) .cat-ess__btn { min-height:450px; }
.p-catalogue .cat-ess__stream .cat-ess__btn img { width:100%; height:100%; max-height:480px; object-fit:contain; filter:grayscale(1); transition:filter .7s ease,transform .9s cubic-bezier(.22,1,.36,1); }
.p-catalogue .cat-ess__cap { height:36px; box-sizing:border-box; margin:0; padding:10px 14px; border:0; font-size:9px; color:#66737a; background:white; }
.p-catalogue .cat-ess__cap::after { content:'Voir la photo ↗'; }
.p-catalogue .cat-ess__stream .cat-ess__item:hover { box-shadow:none; }
.p-catalogue .cat-ess__item:hover img,.p-catalogue .cat-ess__item:focus-within img { filter:grayscale(0); }
@media(max-width:979px) { .p-catalogue .cat-ess__stream { grid-template-columns:repeat(6,minmax(0,1fr)); } .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n) { grid-column:span 3; grid-row:auto; } .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n) .cat-ess__btn { height:300px; min-height:0; } }
@media(max-width:600px) { .p-catalogue .cat-ess__stream { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n) { grid-column:span 1; } .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(5n+1) { grid-column:1/-1; } .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n) .cat-ess__btn { height:230px; padding:12px; } .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(5n+1) .cat-ess__btn { height:340px; } .p-catalogue .cat-ess__cap::after { content:'↗'; } }
@media(hover:none) { .p-catalogue .cat-ess__btn:active img { filter:grayscale(0); } }
@media(prefers-reduced-motion:reduce) { .p-catalogue .cat-ess__stream .cat-ess__btn img { transition:none; } }

/* Composition déstructurée, aperçu entier au survol. */
.p-catalogue .cat-ess__stream { grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-rows:115px; gap:16px; overflow:visible; padding:30px 18px 90px; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n) { position:relative; grid-column:span 3; grid-row:span 2; margin:0; overflow:visible; background:transparent; z-index:1; transition:transform .55s cubic-bezier(.22,1,.36,1); }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+1) { grid-column:2/span 4; grid-row:span 3; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+2) { grid-column:6/span 2; margin-top:36px; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+3) { grid-column:8/span 4; grid-row:span 3; margin-top:65px; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+4) { grid-column:1/span 3; margin-top:18px; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+5) { grid-column:4/span 4; grid-row:span 3; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+6) { grid-column:8/span 3; margin-top:30px; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+7) { grid-column:2/span 3; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+8) { grid-column:9/span 3; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n) .cat-ess__btn { display:block; width:100%; height:100%; min-height:0; padding:0; background:#edf0ed; overflow:hidden; border-radius:2px; }
.p-catalogue .cat-ess__stream .cat-ess__btn img { height:100%; max-height:none; object-fit:cover; transform:scale(1.12); filter:grayscale(1); }
.p-catalogue .cat-ess__cap { position:absolute; bottom:-25px; left:0; right:0; height:24px; padding:6px 0; background:transparent; }
@media(hover:hover) and (pointer:fine) {
 .p-catalogue .cat-ess__stream .cat-ess__item:hover,.p-catalogue .cat-ess__stream .cat-ess__item:focus-within { z-index:20; transform:scale(1.22); }
 .p-catalogue .cat-ess__stream .cat-ess__item:hover .cat-ess__btn,.p-catalogue .cat-ess__stream .cat-ess__item:focus-within .cat-ess__btn { background:#fff; box-shadow:0 22px 55px #16344338!important; }
 .p-catalogue .cat-ess__stream .cat-ess__item:hover img,.p-catalogue .cat-ess__stream .cat-ess__item:focus-within img { object-fit:contain; transform:scale(.94); filter:grayscale(0); }
 .p-catalogue .cat-ess__item:hover .cat-ess__cap { opacity:0; }
}
@media(max-width:979px) {
 .p-catalogue .cat-ess__stream { grid-template-columns:repeat(6,minmax(0,1fr)); grid-auto-rows:100px; gap:24px 14px; padding:20px 5px 60px; }
 .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n) { grid-column:span 3; grid-row:span 2; margin:0; }
 .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(3n+1) { grid-row:span 3; }
}
@media(max-width:600px) {
 .p-catalogue .cat-ess__stream { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:95px; }
 .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n) { grid-column:span 1; grid-row:span 2; }
 .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(3n+1) { grid-row:span 3; }
 .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n) .cat-ess__btn { height:100%; padding:0; }
}
@media(prefers-reduced-motion:reduce) { .p-catalogue .cat-ess__stream .cat-ess__item { transition:none; } }

/* Alternance de cadres géométriques. */
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n) .cat-ess__btn { clip-path:polygon(0 0,100% 0,100% 100%,0 100%); transition:clip-path .6s cubic-bezier(.22,1,.36,1),box-shadow .5s; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(6n+2) .cat-ess__btn { clip-path:polygon(50% 0,100% 100%,100% 100%,0 100%); }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(6n+4) .cat-ess__btn { clip-path:polygon(0 0,100% 0,50% 100%,50% 100%); }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(6n+5) .cat-ess__btn { clip-path:polygon(12% 0,100% 0,88% 100%,0 100%); }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(6n+6) .cat-ess__btn { width:min(100%,250px); height:auto; aspect-ratio:1; margin:auto; }
@media(hover:hover) and (pointer:fine) {
 .p-catalogue .cat-ess__stream .cat-ess__item:hover .cat-ess__btn,
 .p-catalogue .cat-ess__stream .cat-ess__item:focus-within .cat-ess__btn { clip-path:polygon(0 0,100% 0,100% 100%,0 100%); }
}
@media(prefers-reduced-motion:reduce) { .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n) .cat-ess__btn { transition:none; } }

/* Composition latérale compacte, petits joints entre les photos. */
.p-catalogue .cat-ess__side { position:relative; }
.p-catalogue .cat-panel.is-active { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(0,1.7fr); gap:36px; align-items:start; }
.p-catalogue .cat-panel[hidden] { display:none!important; }
.p-catalogue .cat-intro-material { display:flex; flex-direction:column; gap:0; min-width:0; }
.p-catalogue .cat-intro-material .cat-ess__head { padding-top:60px; }
.p-catalogue .cat-intro-material .cat-ess__title { font-size:clamp(28px,3vw,44px); }
.p-catalogue .cat-intro-material .mat-card { width:100%; max-width:330px; box-sizing:border-box; margin-top:30px; }
.p-catalogue .cat-ess__stream { grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-rows:72px; gap:5px; padding:60px 0 50px; margin-left:auto; width:100%; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n) { margin:0; grid-column:span 4; grid-row:span 2; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+1) { grid-column:4/span 4; grid-row:span 3; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+2) { grid-column:8/span 3; grid-row:span 2; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+3) { grid-column:1/span 3; grid-row:span 2; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+4) { grid-column:8/span 5; grid-row:span 4; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+5) { grid-column:4/span 4; grid-row:span 4; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+6) { grid-column:1/span 3; grid-row:span 2; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+7) { grid-column:4/span 3; grid-row:span 2; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+8) { grid-column:8/span 3; grid-row:span 2; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n) .cat-ess__btn { width:100%; height:100%; min-height:0; aspect-ratio:auto; margin:0; clip-path:polygon(0 0,100% 0,100% 100%,0 100%); border-radius:0; }
.p-catalogue .cat-ess__cap { display:none; }
@media(max-width:979px) { .p-catalogue .cat-panel.is-active { grid-template-columns:1fr; gap:0; } .p-catalogue .cat-ess__stream { padding-top:35px; grid-auto-rows:80px; } .p-catalogue .cat-intro-material { display:grid; grid-template-columns:1fr 300px; gap:24px; } }
@media(max-width:650px) { .p-catalogue .cat-intro-material { display:flex; } .p-catalogue .cat-ess__stream { grid-auto-rows:48px; gap:4px; } }

/* Mosaïque plus haute et silhouettes décalées. */
@media(min-width:980px) {
 .p-catalogue .cat-ess__stream { padding-top:12px; }
 .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+1) { transform:translateY(-12px); }
 .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+2) { transform:translateY(18px); }
 .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+3) { transform:translateY(-46px); }
 .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+4) { transform:translateY(-20px); }
 .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+5) { transform:translateY(-8px); }
 .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+6) { transform:translateY(-38px); }
 .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+7) { transform:translateY(12px); }
 .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(8n+8) { transform:translateY(-26px); }
}
@media(hover:hover) and (pointer:fine) {
 .p-catalogue .cat-ess__stream .cat-ess__item:hover,.p-catalogue .cat-ess__stream .cat-ess__item:focus-within { scale:1.15; z-index:20; }
}
@media(max-width:979px) { .p-catalogue .cat-ess__stream { padding-top:16px; } }

/* Carnet de recherche monochrome et croquis de construction. */
.p-catalogue .cat-panel.is-active { position:relative; isolation:isolate; }
.cat-sketches { position:absolute; pointer-events:none; z-index:-1; color:#263c44; opacity:.2; left:-35px; top:530px; width:230px; transform:rotate(-6deg); }
.cat-sketches svg { display:block; width:100%; height:auto; }
.cat-sketches>span { display:block; font-size:8px; letter-spacing:.18em; margin-top:8px; }
.p-catalogue .cat-ess__stream { position:relative; }
.p-catalogue .cat-ess__stream::before { content:"ÉTUDES DE FORMES / COLLECTION"; position:absolute; right:0; top:-8px; font-size:8px; letter-spacing:.18em; color:#8c9294; }
.p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n) .cat-ess__btn { background:#eeefed; }
.p-catalogue .cat-ess__stream .cat-ess__btn img { filter:grayscale(1) contrast(1.08); }
.p-catalogue .cat-ess__stream .cat-ess__item:hover img,.p-catalogue .cat-ess__stream .cat-ess__item:focus-within img { filter:grayscale(0) contrast(1); }
.p-catalogue .cat-ess__stream::after { content:""; position:absolute; right:-20px; top:38%; width:35px; height:150px; border-left:1px solid #9ca6a84d; border-right:3px double #9ca6a84d; transform:rotate(8deg); pointer-events:none; }
@media(max-width:979px) { .cat-sketches { left:auto; right:-10px; top:70px; width:150px; opacity:.12; } }
@media(max-width:600px) { .cat-sketches { display:none; } .p-catalogue .cat-ess__stream::after { display:none; } }

/* Photographies en couleur dès l'affichage. */
.p-catalogue .cat-ess__stream .cat-ess__btn img,
.p-catalogue .cat-ess__stream .cat-ess__item:hover img,
.p-catalogue .cat-ess__stream .cat-ess__item:focus-within img { filter:none; }
.cat-cursor-trail { position:fixed; inset:0; width:100%; height:100%; pointer-events:none; z-index:9999; }
@media(prefers-reduced-motion:reduce),(hover:none) { .cat-cursor-trail { display:none; } }
