.cv-gallery{padding: 32px 0 10px;;overflow:hidden;position:relative;color:#171717}
.cv-gallery *{box-sizing:border-box}
.cv-gallery-heading{width:min(1200px,calc(100% - 36px));margin:0 auto 34px;display:flex;justify-content:space-between;align-items:end;gap:22px}
.cv-gallery-kicker{color:#ff5b2b;letter-spacing:2px;font-size:12px;font-weight:700}
.cv-gallery-heading h2{font-size:clamp(28px,3.5vw,44px);margin:8px 0 0;color:#161616;line-height:1.16}
.cv-gallery-heading p{font-size:14px;line-height:1.7;color:#777;max-width:370px;margin:0}
.cv-gallery-marquee{display:flex;overflow:hidden;position:relative;gap:16px}
.cv-gallery-marquee:before,.cv-gallery-marquee:after{content:"";position:absolute;top:0;bottom:0;width:min(5vw,70px);z-index:2;pointer-events:none}
.cv-gallery-marquee:before{left:0;background:linear-gradient(to right,#fff,transparent)}
.cv-gallery-marquee:after{right:0;background:linear-gradient(to left,#fff,transparent)}
.cv-gallery-track{display:flex;flex:0 0 auto;gap:16px;width:max-content;animation:cvGalleryScroll 62s linear infinite;will-change:transform}
.cv-gallery:hover .cv-gallery-track,.cv-gallery:focus-within .cv-gallery-track{animation-play-state:paused}
.cv-gallery-card{width:290px;height:350px;border-radius:14px;overflow:hidden;position:relative;flex-shrink:0;background:#eee;border:1px solid #e5e5e5;cursor:zoom-in;padding:0;display:block}
.cv-gallery-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .4s}
.cv-gallery-card:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);opacity:0;transition:opacity .3s}
.cv-gallery-card:hover img,.cv-gallery-card:focus-visible img{transform:scale(1.06)}
.cv-gallery-card:hover:after,.cv-gallery-card:focus-visible:after{opacity:1}
.cv-gallery-zoom{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%) scale(.85);height:50px;width:50px;border-radius:50%;background:#ff5b2b;color:white;display:grid;place-items:center;opacity:0;transition:opacity .3s,transform .3s;box-shadow:0 6px 22px #0004}
.cv-gallery-card:hover .cv-gallery-zoom,.cv-gallery-card:focus-visible .cv-gallery-zoom{opacity:1;transform:translate(-50%,-50%) scale(1)}
.cv-gallery-zoom svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@keyframes cvGalleryScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cv-gallery-dialog{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100vw;height:100vh;color:white}
.cv-gallery-dialog::backdrop{background:rgba(0,0,0,.88)}
.cv-gallery-dialog[open]{display:grid;place-items:center}
.cv-gallery-dialog img{max-width:90vw;max-height:85vh;width:auto;height:auto;object-fit:contain;box-shadow:0 12px 60px #0005}
.cv-gallery-modal-close,.cv-gallery-modal-prev,.cv-gallery-modal-next{position:fixed;display:grid;place-items:center;border:1px solid #ffffff44;background:#181818d9;color:#fff;border-radius:50%;width:46px;height:46px;font-size:28px;cursor:pointer;z-index:10}
.cv-gallery-modal-close{top:22px;right:22px}.cv-gallery-modal-prev{left:25px;top:50%;transform:translateY(-50%)}.cv-gallery-modal-next{right:25px;top:50%;transform:translateY(-50%)}
@media(max-width:767px){.cv-gallery{padding:12px 0}.cv-gallery-heading{display:block}.cv-gallery-heading p{margin-top:12px}.cv-gallery-card{width:245px;height:205px}.cv-gallery-modal-prev{left:9px}.cv-gallery-modal-next{right:9px}}
@media(prefers-reduced-motion:reduce){.cv-gallery-track{animation:none}.cv-gallery-marquee{overflow-x:auto}.cv-gallery-card img{transition:none}}
