.cpgsv120-gallery{opacity:0;transform:translateY(32px) scale(.982);transition:opacity .95s cubic-bezier(.16,1,.3,1),transform .95s cubic-bezier(.16,1,.3,1)}
.cpgsv120-gallery.is-inview{opacity:1;transform:none}
.cpgsv120-main-stage{display:grid;grid-template-columns:minmax(180px,22%) minmax(0,1fr) minmax(180px,22%);gap:var(--cpgsv120-gap);align-items:stretch}
.cpgsv120-center-wrap{position:relative;height:var(--cpgsv120-height);overflow:hidden;border-radius:var(--cpgsv120-radius);isolation:isolate;min-width:0}
.cpgsv120-center-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.12));pointer-events:none}
.cpgsv120-center-trigger{display:block;width:100%;height:100%;padding:0;border:none;background:#111;overflow:hidden}
.cpgsv120-center-image{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.025);transition:transform 1s cubic-bezier(.16,1,.3,1),filter .8s ease,opacity .55s ease}
.cpgsv120-gallery.is-animating .cpgsv120-center-image{transform:scale(1.085);filter:saturate(1.06) contrast(1.03)}
.cpgsv120-gallery.is-sliding-next .cpgsv120-center-wrap{animation:cpgsv120-pan-next .7s cubic-bezier(.16,1,.3,1)}
.cpgsv120-gallery.is-sliding-prev .cpgsv120-center-wrap{animation:cpgsv120-pan-prev .7s cubic-bezier(.16,1,.3,1)}
.cpgsv120-side-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:var(--cpgsv120-gap);height:var(--cpgsv120-height);align-content:stretch;min-width:0}
.cpgsv120-side-grid.is-empty{display:none}
.cpgsv120-side-item{position:relative;display:block;overflow:hidden;border:none;padding:0;border-radius:calc(var(--cpgsv120-radius) - 4px);background:#f3f3f3;transform:translate3d(0,0,0) scale(1);transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .45s ease,box-shadow .45s ease,filter .45s ease;min-height:0}
.cpgsv120-side-item:hover{transform:translateY(-3px) scale(1.025);filter:saturate(1.04)}
.cpgsv120-side-item img{width:100%;height:100%;object-fit:cover;display:block}
.cpgsv120-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:999px;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);color:#fff;display:flex;align-items:center;justify-content:center;z-index:2;transition:transform .35s cubic-bezier(.16,1,.3,1),background .35s ease,opacity .35s ease}
.cpgsv120-nav:hover{transform:translateY(-50%) scale(1.08);background:rgba(0,0,0,.72)}
.cpgsv120-prev{left:14px}.cpgsv120-next{right:14px}
.cpgsv120-gallery.is-animating .cpgsv120-side-item{opacity:.78;transform:scale(.988)}
.cpgsv120-side-item.is-entering{animation:cpgsv120-thumb-in .55s cubic-bezier(.16,1,.3,1)}
@keyframes cpgsv120-pan-next{0%{transform:translateX(0) scale(1)}50%{transform:translateX(-10px) scale(1.015)}100%{transform:translateX(0) scale(1)}}
@keyframes cpgsv120-pan-prev{0%{transform:translateX(0) scale(1)}50%{transform:translateX(10px) scale(1.015)}100%{transform:translateX(0) scale(1)}}
@keyframes cpgsv120-thumb-in{0%{opacity:0;transform:translateY(14px) scale(.96)}100%{opacity:1;transform:translateY(0) scale(1)}}
@media (max-width:1024px){.cpgsv120-main-stage{grid-template-columns:minmax(150px,24%) minmax(0,1fr) minmax(150px,24%)}}
@media (max-width:767px){.cpgsv120-main-stage{grid-template-columns:1fr}.cpgsv120-side-grid{grid-template-columns:1fr 1fr;height:auto;order:2}.cpgsv120-side-grid-left{margin-top:var(--cpgsv120-gap)}.cpgsv120-side-grid-right{margin-top:var(--cpgsv120-gap)}.cpgsv120-center-wrap{height:min(72vw,var(--cpgsv120-height));order:1}.cpgsv120-side-item{aspect-ratio:1/1}}
