.kwsr{position:relative;overflow:clip}
.kwsr__head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px}
.kwsr__intro{max-width:1050px}
.kwsr__eyebrow{font-size:11px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
.kwsr__heading{margin:0;font-size:clamp(34px,4.8vw,68px);line-height:.98;letter-spacing:-.035em}
.kwsr__subline{max-width:720px;margin-top:14px;font-size:16px;line-height:1.55;opacity:.72}
.kwsr__nav{display:flex;gap:9px;flex:0 0 auto}
.kwsr__arrow{appearance:none;width:48px;height:48px;border-radius:50%;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;font-size:19px;line-height:1;display:grid;place-items:center;transition:transform .25s ease,opacity .25s ease,background-color .25s ease}
.kwsr__arrow:hover{transform:translateY(-2px)}
.kwsr__viewport{position:relative;overflow:hidden}
.kwsr__track{display:flex;align-items:stretch;gap:18px;overflow-x:auto;overflow-y:hidden;padding:8px 2px 28px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.kwsr__track::-webkit-scrollbar{display:none}
.kwsr--drag .kwsr__track{cursor:grab;user-select:none}
.kwsr--drag .kwsr__track.is-dragging{cursor:grabbing;scroll-snap-type:none}
.kwsr__card{position:relative;flex:0 0 360px;min-width:0;min-height:430px;scroll-snap-align:start;overflow:hidden;display:flex;flex-direction:column;background:#ece8e1;transition:transform .4s cubic-bezier(.2,.72,.25,1),box-shadow .4s ease,opacity .55s ease}
.kwsr__media{position:relative;aspect-ratio:var(--kwsr-ratio,4/5);overflow:hidden;flex:0 0 auto}
.kwsr__media--wide{aspect-ratio:16/10}
.kwsr__media img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;transform:scale(1);transition:transform .75s cubic-bezier(.2,.72,.25,1),filter .4s ease}
.kwsr__copy{padding:26px;display:flex;flex-direction:column;gap:11px;flex:1}
.kwsr__label{font-size:11px;letter-spacing:.15em;text-transform:uppercase;line-height:1.2}
.kwsr__title{font-size:clamp(25px,2.2vw,35px);line-height:1.02}
.kwsr__text{font-size:15px;line-height:1.58;opacity:.7}
.kwsr__card--text{justify-content:flex-end}
.kwsr__card--text .kwsr__copy{justify-content:flex-end}
.kwsr__card--quote{justify-content:flex-end}
.kwsr__card--quote .kwsr__copy{justify-content:flex-end}
.kwsr__card--quote .kwsr__title{font-size:clamp(30px,3vw,46px)}
.kwsr--zoom .kwsr__card:hover .kwsr__media img{transform:scale(var(--kwsr-zoom,1.04))}
.kwsr--lift .kwsr__card:hover{transform:translateY(calc(-1 * var(--kwsr-lift,6px)));box-shadow:0 18px 38px rgba(0,0,0,.08)}
.kwsr__progress{height:2px;background:rgba(0,0,0,.1);overflow:hidden}
.kwsr__progress span{display:block;height:100%;width:0;transition:width .12s linear}
.kwsr--reveal .kwsr__card{opacity:0;transform:translateY(18px)}
.kwsr--reveal.is-visible .kwsr__card{opacity:1;transform:translateY(0)}
.kwsr--reveal.is-visible .kwsr__card:nth-child(1){transition-delay:0ms}
.kwsr--reveal.is-visible .kwsr__card:nth-child(2){transition-delay:55ms}
.kwsr--reveal.is-visible .kwsr__card:nth-child(3){transition-delay:110ms}
.kwsr--reveal.is-visible .kwsr__card:nth-child(4){transition-delay:165ms}
.kwsr--reveal.is-visible .kwsr__card:nth-child(5){transition-delay:220ms}
.kwsr--reveal.is-visible .kwsr__card:nth-child(n+6){transition-delay:260ms}
.kwsr--edge-fade .kwsr__viewport:before,.kwsr--edge-fade .kwsr__viewport:after{content:"";position:absolute;top:0;bottom:28px;width:56px;z-index:3;pointer-events:none}
.kwsr--edge-fade .kwsr__viewport:before{left:0;background:linear-gradient(90deg,currentColor,transparent);opacity:.05}
.kwsr--edge-fade .kwsr__viewport:after{right:0;background:linear-gradient(270deg,currentColor,transparent);opacity:.05}
.kwsr__track.is-dragging .kwsr__card{pointer-events:none}

@media(max-width:767px){
  .kwsr__head{align-items:flex-start;gap:18px}
  .kwsr__nav{display:none}
  .kwsr__heading{font-size:40px}
  .kwsr__subline{font-size:15px}
  .kwsr__card{flex-basis:82vw;min-height:380px}
}
@media(prefers-reduced-motion:reduce){
  .kwsr__card,.kwsr__media img,.kwsr__arrow{transition:none!important}
  .kwsr--reveal .kwsr__card{opacity:1!important;transform:none!important}
}
