.experience-carousel { --experience-gap:18px; }
.experience-carousel__viewport { overflow-x:auto; overflow-y:hidden; scrollbar-width:none; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; touch-action:pan-y pinch-zoom; cursor:grab; }
.experience-carousel__viewport::-webkit-scrollbar { display:none; }
.experience-carousel .experience-carousel__track { display:flex; gap:var(--experience-gap); }
.experience-carousel .home-editorial__card { flex:0 0 calc((100% - 2 * var(--experience-gap)) / 3); scroll-snap-align:none; }
.experience-carousel .home-editorial__card:nth-child(3n + 1) { scroll-snap-align:start; }
.experience-carousel__viewport.is-moving { scroll-snap-type:none; }
.experience-carousel__viewport.is-dragging { cursor:grabbing; user-select:none; }
.experience-carousel__viewport:focus-visible { outline:2px solid var(--home-accent); outline-offset:5px; }
.experience-carousel__pagination { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:24px; }
.experience-carousel__pagination[hidden] { display:none; }
.experience-carousel__pagination button { position:relative; width:46px; height:44px; padding:0; border:0; background:transparent; cursor:pointer; }
.experience-carousel__pagination button::before,.experience-carousel__pagination button::after { position:absolute; inset:20px 0; content:''; background:var(--home-accent); transform:scaleY(.5); opacity:.25; transition:transform 660ms cubic-bezier(.65,0,.35,1),opacity 660ms cubic-bezier(.65,0,.35,1); }
.experience-carousel__pagination button::after { opacity:1; transform:scaleX(0) scaleY(.5); transform-origin:left; }
[dir=rtl] .experience-carousel__pagination button::after { transform-origin:right; }
.experience-carousel__pagination button[aria-current=true]::after { transform:scaleX(1) scaleY(1); }
.experience-carousel__pagination button:focus-visible { outline:1px solid var(--home-accent); outline-offset:2px; }
.experience-carousel__sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:767px) { .experience-carousel .home-editorial__card { flex-basis:75%; scroll-snap-align:start; } .experience-carousel__pagination { gap:6px; } .experience-carousel__pagination button { width:28px; } }
@media(prefers-reduced-motion:reduce) { .experience-carousel__pagination button::before,.experience-carousel__pagination button::after { transition:none; } }
