.jpc{--jpc-bg:#f5f5f5;--jpc-ink:#3a414c;--jpc-accent:#ff0050;--jpc-columns:2;--jpc-gap:40px;--jpc-stage-height:330px;background:var(--jpc-bg);color:var(--jpc-ink);padding:64px 0 36px;overflow:hidden;position:relative;text-align:left;isolation:isolate;container-type:inline-size}
.jpc *{box-sizing:border-box}.jpc-heading{max-width:1280px;margin:0 auto 38px;padding:0 32px}.jpc .jpc-eyebrow{font-size:14px;letter-spacing:.16em;color:var(--jpc-accent);margin:0 0 14px;font-weight:500}.jpc .jpc-heading h2{color:var(--jpc-ink);font-size:clamp(30px,3.5vw,48px);font-weight:400;line-height:1.15;text-transform:none;margin:0 0 14px}.jpc .jpc-hint{font-size:16px;color:#68707b;margin:0}.jpc-hint span{padding-left:8px}
.jpc-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;outline-offset:-3px}.jpc-track{display:flex;gap:var(--jpc-gap);padding:0 24px;align-items:stretch}.jpc-slide{flex:0 0 calc((100% - (var(--jpc-columns) - 1)*var(--jpc-gap))/var(--jpc-columns));min-width:0;scroll-snap-align:start}.jpc.is-ready .jpc-viewport{overflow:hidden;scroll-snap-type:none;touch-action:pan-y pinch-zoom;cursor:grab}.jpc.is-ready .jpc-viewport:active{cursor:grabbing}.jpc.is-ready .jpc-track{gap:0;will-change:transform}.jpc.is-ready .jpc-slide{margin-right:var(--jpc-gap)}
.jpc .jpc-visual{display:flex!important;position:relative;align-items:center;justify-content:center;height:var(--jpc-stage-height);text-decoration:none!important;user-select:none;-webkit-user-drag:none;color:inherit;padding:18px 0 26px;background:none;border:0;box-shadow:none;border-radius:0}
.jpc .jpc-project-image{display:block!important;max-width:100%!important;max-height:100%!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;pointer-events:none;border:0!important;margin:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important;background:none!important}
.jpc-image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border:1px dashed #c6cbd1;color:#68707b;font-size:16px;text-align:center;padding:24px}
.jpc-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #dce0e4;padding:22px 0 14px}.jpc-caption>div{min-width:0}.jpc-project-number{font-size:13px;color:var(--jpc-accent);letter-spacing:.12em;display:block;margin-bottom:5px}.jpc .jpc-caption h3{font-size:clamp(21px,2vw,28px)!important;font-weight:400!important;color:var(--jpc-ink)!important;line-height:1.2;text-transform:none;margin:0 0 6px;overflow-wrap:anywhere}.jpc .jpc-caption p{font-size:15px;line-height:1.5;color:#68707b;margin:0;overflow-wrap:anywhere}.jpc .jpc-project-link{font-size:14px;white-space:nowrap;border-bottom:1px solid #b9bdc3;padding:8px 0;color:var(--jpc-ink)!important;text-decoration:none!important;transition:color .2s,border-color .2s}.jpc .jpc-project-link:hover{color:var(--jpc-accent)!important;border-color:var(--jpc-accent)}.jpc-project-link span[aria-hidden]{padding-left:10px}
.jpc-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin:26px 0 0}.jpc-controls[hidden]{display:none}.jpc .jpc-controls button{display:grid;place-items:center;border:1px solid #d4d8dd;background:transparent;color:var(--jpc-ink);width:48px;height:48px;min-width:48px;border-radius:50%;font-family:inherit;font-size:25px;line-height:1;padding:0;box-shadow:none;cursor:pointer;transition:color .2s,border-color .2s}.jpc .jpc-controls button:hover{color:var(--jpc-accent);border-color:var(--jpc-accent)}.jpc .jpc-controls button:disabled{opacity:.3;cursor:default}.jpc-count{font-size:15px;letter-spacing:.12em;min-width:72px;text-align:center;font-variant-numeric:tabular-nums}.jpc .jpc-controls .jpc-play{font-size:14px;width:auto;min-width:72px;border-radius:24px;padding:0 16px}.jpc .jpc-controls button[hidden]{display:none!important}
.jpc .jpc-viewport:focus,.jpc a:focus,.jpc button:focus,.jpc a:active,.jpc button:active{outline:none!important}.jpc .jpc-viewport:focus-visible,.jpc a:focus-visible,.jpc button:focus-visible{outline:2px solid var(--jpc-accent)!important;outline-offset:3px}.jpc.jpc-pointer .jpc-viewport:focus,.jpc.jpc-pointer a:focus,.jpc.jpc-pointer button:focus{outline:none!important}.jpc a,.jpc button,.jpc-viewport{-webkit-tap-highlight-color:transparent}.jpc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@container (max-width:767px){.jpc-track{--jpc-columns:1;--jpc-gap:22px}.jpc-caption{flex-direction:column;align-items:flex-start}.jpc .jpc-caption h3{font-size:25px!important}}
@container (min-width:1281px){.jpc-caption{flex-direction:column;align-items:flex-start}.jpc .jpc-caption h3{font-size:24px!important}}
@media(max-width:767px){.jpc{padding:38px 0 28px;--jpc-columns:1;--jpc-gap:22px;--jpc-stage-height:260px}.jpc-heading{padding:0 22px;margin-bottom:22px}.jpc .jpc-eyebrow{font-size:12px}.jpc-caption{align-items:flex-start;flex-direction:column;gap:9px;padding-top:17px}.jpc .jpc-project-link{font-size:15px}}
@media(prefers-reduced-motion:reduce){.jpc *{transition:none!important;scroll-behavior:auto!important}.jpc-track{will-change:auto!important}}

/* 1.3 — pagination, espacement automatique et indication centrée */
.jpc .jpc-hint{text-align:center}
.jpc.jpc-no-headings{padding-top:0}
.jpc-no-headings .jpc-heading{margin-bottom:12px}
.jpc[data-hide-pagination="true"]{padding-bottom:12px}
.jpc[data-hide-pagination="true"] .jpc-controls{margin-top:12px}
.jpc .jpc-count[hidden]{display:none!important}
.jpc.jpc-no-controls .jpc-controls{display:none!important}

/* 1.4 — zoom visuel indépendant du déplacement Embla */
.jpc .jpc-visual{overflow:hidden}
.jpc .jpc-project-image{transform:scale(1);transform-origin:center;transition:transform .7s cubic-bezier(.22,.61,.36,1)}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .jpc:not(.jpc-dragging) .jpc-visual:hover .jpc-project-image{transform:scale(1.045)}
}
