.portfolio-carousel{margin:0 0 35px;--visible:3}
.portfolio-photo-stage{overflow:hidden;touch-action:pan-y}
.portfolio-photo-track{display:flex;transition:transform .25s ease}
.portfolio-photo-slide{flex:0 0 calc(100% / var(--visible));margin:0!important;min-width:0;padding:0 7px;box-sizing:border-box}
.portfolio-photo-slide img{display:block!important;position:static!important;width:100%!important;height:370px!important;max-width:100%!important;object-fit:contain!important;opacity:1!important;visibility:visible!important;background:#fafafa;cursor:zoom-in}
.portfolio-photo-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:16px}
.portfolio-photo-controls button{width:40px;height:40px;display:grid;place-items:center;padding:0;border:1px solid #ddd;background:white;color:#222;border-radius:0;cursor:pointer;font:22px/1 Arial,sans-serif}
.portfolio-photo-controls output{font:13px/1.4 europa,Arial,sans-serif;letter-spacing:1px;color:#444;min-width:64px;text-align:center}
.portfolio-photo-help{margin:8px 0 0;font:12px/1.5 europa,Arial,sans-serif;color:#777;text-align:center}
[data-portfolio-image-group]{cursor:zoom-in}
[data-portfolio-image-group]:focus-visible,.portfolio-carousel button:focus-visible{outline:2px solid #222;outline-offset:3px}
.portfolio-image-content{position:absolute;inset:6% 4%;display:flex;align-items:center;justify-content:center;overflow:auto}
.portfolio-image-content img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.portfolio-image-content.is-zoomed{display:block}
.portfolio-image-content.is-zoomed img{max-width:none;max-height:none;margin:0 auto}
.portfolio-image-counter{position:absolute;left:20px;top:18px;color:white;font:13px europa,Arial,sans-serif}
.mirror-lightbox .portfolio-image-zoom{position:absolute;z-index:10;top:13px;left:50%;transform:translateX(-50%);color:white;background:rgba(0,0,0,.4);border:1px solid #777;padding:7px 14px;font:13px europa,Arial,sans-serif;cursor:pointer}
@media(max-width:640px){.portfolio-carousel{--visible:1;margin:0 0 30px}.portfolio-photo-slide{padding:0}.portfolio-photo-slide img{height:420px!important;max-height:62vh!important}}
@media(prefers-reduced-motion:reduce){.portfolio-photo-track{transition:none}}

.portfolio-image-dialog .sqs-lightbox-previous,.portfolio-image-dialog .sqs-lightbox-next{position:absolute!important;top:50%!important;width:44px!important;height:44px!important;padding:0!important;margin:-22px 0 0!important;display:grid!important;place-items:center!important;color:#fff!important;opacity:1!important;background:rgba(0,0,0,.4)!important;font:28px/1 Arial,sans-serif!important;cursor:pointer;z-index:20}
.portfolio-image-dialog .sqs-lightbox-previous{left:14px!important;right:auto!important}
.portfolio-image-dialog .sqs-lightbox-next{right:14px!important;left:auto!important}
.portfolio-image-dialog .sqs-lightbox-previous::before,.portfolio-image-dialog .sqs-lightbox-previous::after,.portfolio-image-dialog .sqs-lightbox-next::before,.portfolio-image-dialog .sqs-lightbox-next::after{content:none!important}
.portfolio-image-dialog button[hidden]{display:none!important}

.portfolio-carousel-row{margin-left:17px;margin-right:17px}
.portfolio-photo-slide figcaption{font:13px/1.5 europa,Arial,sans-serif;padding:8px 0;color:#555}
.portfolio-image-dialog .sqs-lightbox-close{z-index:30}
