.brin-rolling-items{--brin-roll-axis:vertical;--brin-roll-direction:forward;--brin-roll-tracks:2;--brin-roll-duration:48;--brin-track-gap:1.5rem;--brin-item-gap:1.5rem;--brin-horizontal-item-width:24rem;--brin-viewport-sizing:custom;--brin-custom-viewport-height:60rem;--brin-item-align:stretch;position:relative;width:100%;height:var(--brin-custom-viewport-height);overflow:hidden}.brin-rolling-items *{box-sizing:border-box}.brin-rolling-items__source{display:grid;grid-template-columns:repeat(var(--brin-roll-tracks),minmax(0,1fr));gap:var(--brin-item-gap) var(--brin-track-gap)}.brin-rolling-items__tracks{display:none;width:100%;height:100%;gap:var(--brin-track-gap)}.brin-rolling-items.is-ready .brin-rolling-items__source{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important}.brin-rolling-items.is-ready .brin-rolling-items__tracks{display:grid}.brin-rolling-items[data-axis=vertical] .brin-rolling-items__tracks{grid-template-columns:repeat(var(--brin-roll-tracks),minmax(0,1fr))}.brin-rolling-items[data-axis=horizontal] .brin-rolling-items__tracks{grid-template-rows:repeat(var(--brin-roll-tracks),minmax(0,1fr));grid-template-columns:1fr}.brin-rolling-items__lane{overflow:hidden;min-width:0}.brin-rolling-items[data-axis=vertical] .brin-rolling-items__group{display:flex;flex-direction:column;gap:var(--brin-item-gap);padding-bottom:var(--brin-item-gap)}.brin-rolling-items[data-axis=horizontal] .brin-rolling-items__group{display:flex;flex-direction:row;gap:var(--brin-item-gap);padding-right:var(--brin-item-gap);width:max-content}.brin-rolling-items__track{will-change:transform}.brin-rolling-items[data-axis=vertical] .brin-rolling-items__track{animation:brin-y var(--brin-duration,48s) linear infinite}.brin-rolling-items[data-axis=horizontal] .brin-rolling-items__track{display:flex;width:max-content;animation:brin-x var(--brin-duration,48s) linear infinite}.brin-rolling-items__track.is-reverse{animation-direction:reverse}.brin-rolling-items[data-axis=horizontal] .brin-rolling-item{flex:0 0 var(--brin-horizontal-item-width);width:var(--brin-horizontal-item-width)}.brin-rolling-item{display:grid;justify-items:var(--brin-item-align);width:100%}.brin-rolling-item__media{width:100%;max-width:100%;margin:0;overflow:hidden}.brin-rolling-item__image{display:block;width:100%;height:auto}.brin-rolling-items--pause:hover .brin-rolling-items__track,.brin-rolling-items--pause:focus-within .brin-rolling-items__track,.brin-rolling-items.is-offscreen .brin-rolling-items__track,.brin-rolling-items.is-page-hidden .brin-rolling-items__track{animation-play-state:paused}.brin-rolling-items[data-viewport-sizing=auto]{height:auto}.brin-rolling-items[data-viewport-sizing=inherit]{height:var(--brin-parent-height,100%)!important;overflow:hidden;contain:layout paint}@media(prefers-reduced-motion:reduce){.brin-rolling-items{height:auto!important;overflow:visible}.brin-rolling-items__tracks{display:none!important}.brin-rolling-items__source{position:static!important;display:grid!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;clip:auto!important;clip-path:none!important}}@keyframes brin-y{to{transform:translate3d(0,-50%,0)}}@keyframes brin-x{to{transform:translate3d(-50%,0,0)}}

/* Brin Boards Rolling Items — responsive media-ratio system (v0.19.0) */
.brin-rolling-items {
    --brin-media-aspect-ratio: auto;
    --brin-media-image-height: auto;
    --brin-natural-object-fit: cover;
    --brin-media-fit: var(--brin-natural-object-fit);
    --brin-media-object-position: center center;
}

.brin-rolling-items .brin-rolling-item__media {
    position: relative;
    width: 100%;
    max-width: 100%;
    aspect-ratio: var(--brin-media-aspect-ratio);
    overflow: hidden;
}

.brin-rolling-items .brin-rolling-item__image {
    display: block;
    width: 100%;
    height: var(--brin-media-image-height);
    max-width: 100%;
    object-fit: var(--brin-media-fit);
    object-position: var(--brin-media-object-position);
}

/*
 * Fixed ratios set image height to 100% through Elementor's responsive
 * CSS variables and force object-fit: cover. The source image therefore
 * scales proportionally and crops only the overflow; it is never stretched.
 */
