/* Keep the supplied 720p landscape intact; no zoom or face crop. */
.conference-moment:has(.session-video-banner){padding-inline:clamp(16px,4vw,64px)}
.conference-moment:has(.session-video-banner) .conference-heading{max-width:1280px;margin-inline:auto}
.conference-moment .session-video-banner{max-width:1280px;margin-inline:auto}
.session-video-frame{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:var(--cfs-ink)}
.session-video-poster,.session-video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:0}
.session-video{opacity:0;pointer-events:none}
.session-video-playing .session-video{opacity:1}
.session-video-toggle{position:absolute;right:20px;bottom:20px;z-index:2;min-height:44px;padding:11px 18px;border:1px solid #ffffffa6;border-radius:8px;background:rgba(24,24,29,.92);color:#fff;font:500 14px var(--cfs-font);cursor:pointer}
.session-video-toggle:hover{background:var(--cfs-violet-hover)}
.session-video-toggle:focus-visible{outline:3px solid #fff;outline-offset:4px}
.session-video-toggle[hidden]{display:none}
.session-video-banner figcaption{max-width:62ch}
@media(max-width:800px){.session-video-frame{border-radius:8px}.session-video-toggle{right:10px;bottom:10px;padding:8px 12px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.session-video,.session-video-toggle{display:none!important}}

/* Small compositor-driven drift inside the mobile landscape frame. No touch/scroll handlers. */
@supports (animation-timeline:view()){
 @media(max-width:800px) and (prefers-reduced-motion:no-preference){
  .session-video-banner{view-timeline:--session-scroll block}
  .session-video-frame{margin-block:20px}
  .session-video-playing:not(.session-video-user-paused) .session-video-frame{animation:session-mobile-drift 1s linear both;animation-timeline:--session-scroll;animation-range:entry 0% exit 100%}
  @keyframes session-mobile-drift{from{transform:translateY(20px)}to{transform:translateY(-20px)}}
 }
}
