.portfolio-carousel{width:100%;min-width:0;--carousel-ratio:4 / 5;font-family:var(--mono);font-size:calc(8px * var(--ref));line-height:calc(12px * var(--ref));letter-spacing:calc(.8px * var(--ref));color:var(--ink)}
.portfolio-carousel__track{display:flex;width:100%;min-width:0;aspect-ratio:var(--carousel-ratio);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:auto;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;outline-offset:4px}
.portfolio-carousel__track::-webkit-scrollbar{display:none}
.portfolio-carousel__track:focus-visible{outline:1px solid var(--plum-noir);box-shadow:0 0 0 4px var(--accent)}
.portfolio-carousel__slide{flex:0 0 100%;width:100%;min-width:0;min-height:0;height:100%;scroll-snap-align:start;scroll-snap-stop:always;margin:0;padding:0}
.portfolio-carousel__image-button{display:block;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;user-select:none;-webkit-user-select:none}
.portfolio-carousel__image-button img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.portfolio-carousel__toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-top:calc(5px * var(--ref))}
.portfolio-carousel__navigation{display:flex;align-items:center;gap:calc(8px * var(--ref));min-width:0}
.portfolio-carousel__counter{display:block;min-width:calc(39px * var(--ref));text-align:center;white-space:nowrap;font:inherit;letter-spacing:inherit}
.portfolio-carousel__arrow,.portfolio-carousel__zoom{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:0;padding:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit}
.portfolio-carousel__arrow svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.portfolio-carousel__arrow:disabled{opacity:.28}
.portfolio-carousel__arrow:not(:disabled):hover,.portfolio-carousel__zoom:hover{background:var(--accent);color:var(--ink)}
.portfolio-carousel__zoom{gap:8px;padding:0 8px;white-space:nowrap}
.portfolio-carousel.is-dragging .portfolio-carousel__track{scroll-snap-type:none}
.portfolio-carousel.is-dragging .portfolio-carousel__image-button{pointer-events:none}
@media(max-width:700px){.portfolio-carousel__toolbar{gap:8px}.portfolio-carousel__navigation{gap:3px}.portfolio-carousel__zoom{padding:0 6px}}
@media(prefers-reduced-motion:reduce){.portfolio-carousel__track{scroll-behavior:auto}}
