/* Only the carousel controller owns card position, depth and opacity. */
html,body{overflow-x:clip;max-width:100%;overscroll-behavior-x:none}
@supports not (overflow:clip){html,body{overflow-x:hidden}}
.works .gallery{height:var(--gallery-height,520px)}
.gallery{touch-action:pan-y pinch-zoom;overflow:clip;isolation:isolate}
.gallery .case-card{touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;backface-visibility:hidden}
.gallery.has-touch-handler,.gallery.has-touch-handler .case-card{touch-action:auto}
/* The transparent parent plane must not intercept the rear cards at negative Z. */
#caseCards{pointer-events:none}
.gallery .case-card{pointer-events:auto;cursor:pointer}
.works .gallery .case-card{transition:border-color .25s,box-shadow .25s,background-color .25s}
.works .case-card{--control-rgb:var(--case-rgb);--control-color:var(--case-accent)}
.gallery img{-webkit-user-drag:none;user-select:none;pointer-events:none}
.gallery.is-dragging,.gallery.is-dragging *{cursor:grabbing!important}

/* The gallery controls follow the selected direction in every interaction state. */
.works .gallery-controls{--control-rgb:var(--case-rgb);--control-color:var(--case-accent)}
