.cfps{--gap:12px;position:relative;background:#111;color:#fff;padding:22px 0 34px;overflow:visible}.cfps *{box-sizing:border-box}.cfps__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 clamp(18px,3vw,48px) 14px}.cfps__title{margin:0!important;color:#fff!important;font-size:clamp(1.4rem,2vw,2.2rem)!important;line-height:1.1!important;font-weight:700!important}.cfps__controls{display:flex;gap:8px}.cfps__arrow{width:38px;height:38px;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.48);color:#fff;border-radius:50%;font-size:28px;line-height:1;cursor:pointer;transition:.2s}.cfps__arrow:hover{background:#fff;color:#000}.cfps__viewport{overflow:hidden;padding:42px clamp(18px,3vw,48px) 54px;margin:-42px 0 -54px}.cfps__track{display:flex;gap:var(--gap);overflow-x:auto;overflow-y:visible;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none;padding:0 0 18px}.cfps__track::-webkit-scrollbar{display:none}.cfps__card{position:relative;flex:0 0 clamp(220px,18vw,340px);aspect-ratio:16/9;scroll-snap-align:start;z-index:1;transition:transform .3s cubic-bezier(.2,.75,.25,1),z-index 0s .15s}.cfps__card:hover,.cfps__card:focus-within{transform:scale(1.34);z-index:20;transition-delay:.08s}.cfps__link{position:absolute;inset:0;display:block;background:#181818;color:#fff!important;text-decoration:none!important;border-radius:7px;overflow:hidden;box-shadow:0 0 0 rgba(0,0,0,0);transition:box-shadow .25s}.cfps__card:hover .cfps__link,.cfps__card:focus-within .cfps__link{box-shadow:0 18px 48px rgba(0,0,0,.68)}.cfps__media{position:absolute;inset:0;overflow:hidden}.cfps__poster,.cfps__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:opacity .22s ease,transform .5s ease}.cfps__video{opacity:0;background:#000}.cfps__card.is-playing .cfps__video{opacity:1}.cfps__card.is-playing .cfps__poster{opacity:0}.cfps__card:hover .cfps__poster,.cfps__card:hover .cfps__video{transform:scale(1.03)}.cfps__shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.96) 0%,rgba(0,0,0,.52) 36%,rgba(0,0,0,.03) 70%);opacity:0;transition:opacity .22s}.cfps__card:hover .cfps__shade,.cfps__card:focus-within .cfps__shade{opacity:1}.cfps__info{position:absolute;left:0;right:0;bottom:0;padding:12px 14px 14px;opacity:0;transform:translateY(14px);transition:.22s;z-index:3}.cfps__card:hover .cfps__info,.cfps__card:focus-within .cfps__info{opacity:1;transform:none}.cfps__play{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;color:#000;font-size:11px;margin-bottom:8px}.cfps__info h3{margin:0 0 6px!important;color:#fff!important;font-size:clamp(.8rem,.9vw,1rem)!important;line-height:1.05!important;font-weight:700!important}.cfps__meta{display:flex;flex-wrap:wrap;gap:4px 9px;color:#d0d0d0;font-size:9px;line-height:1.2}.cfps__meta span:not(:last-child)::after{content:'•';margin-left:9px;color:#777}.cfps__cta{margin-top:8px;color:#fff;font-size:9px;font-weight:600;letter-spacing:.04em}.cfps__cta span{opacity:.75}.cfps__card:first-child{transform-origin:left center}.cfps__card:last-child{transform-origin:right center}@media(max-width:980px){.cfps__card{flex-basis:clamp(220px,44vw,330px)}.cfps__card:hover,.cfps__card:focus-within{transform:scale(1.14)}.cfps__info{opacity:1;transform:none}.cfps__shade{opacity:1}.cfps__controls{display:none}}@media(max-width:600px){.cfps{padding-top:16px}.cfps__card{flex-basis:78vw}.cfps__card:hover,.cfps__card:focus-within{transform:none}.cfps__viewport{padding-top:12px;margin-top:0}.cfps__info{padding:10px 12px}.cfps__play{width:26px;height:26px}}
@media(prefers-reduced-motion:reduce){.cfps__track{scroll-behavior:auto}.cfps__card,.cfps__poster,.cfps__video,.cfps__info{transition:none!important}.cfps__card:hover,.cfps__card:focus-within{transform:none}}


/* v1.4 responsive app UI */
.cfps{
  --cfps-edge:clamp(14px,4vw,24px);
  -webkit-tap-highlight-color:transparent;
}
.cfps__arrow{min-width:44px;min-height:44px;touch-action:manipulation}
.cfps__link:focus-visible,.cfps__arrow:focus-visible{
  outline:2px solid #fff;outline-offset:4px
}
@media(max-width:980px){
  .cfps{padding:18px 0 24px}
  .cfps__header{padding:0 var(--cfps-edge) 10px}
  .cfps__title{font-size:clamp(1.2rem,5.2vw,1.65rem)!important}
  .cfps__viewport{
    padding:8px 0 16px;
    margin:0;
    overflow:visible;
  }
  .cfps__track{
    gap:10px;
    padding:0 var(--cfps-edge) 14px;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:var(--cfps-edge);
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }
  .cfps__card{
    flex:0 0 min(78vw,330px);
    scroll-snap-align:start;
    scroll-snap-stop:always;
    aspect-ratio:16/10;
    transform:none!important;
  }
  .cfps__link{border-radius:12px}
  .cfps__shade{opacity:1;background:linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,.08) 66%)}
  .cfps__info{opacity:1;transform:none;padding:12px}
  .cfps__play{width:34px;height:34px;font-size:12px}
  .cfps__info h3{font-size:1rem!important}
  .cfps__meta,.cfps__cta{font-size:.68rem}
  .cfps__controls{display:none!important}
}
@media(max-width:520px){
  .cfps__card{flex-basis:84vw}
}


/* v1.4.1 mobile full-bleed carousel breakout */
@media (max-width: 620px) {
  .cfps {
    position: relative;
    left: 50%;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
  }
}


/* v1.21.0 cinematic token alignment */
.cfps-wrap{background:var(--cf-black,#0A0A0A)!important;color:var(--cf-text,#F5F5F5)!important}
.cfps-card{background:var(--cf-surface-2,#181818)!important;border-color:var(--cf-border,rgba(255,255,255,.1))!important}
.cfps-card:hover{box-shadow:var(--cf-shadow)!important}
