/* SWUAK inline video-news cards + article video — v57 */
.card--video{background:#111;isolation:isolate}
.card--video .story-card-image{z-index:-1;transition:transform .42s cubic-bezier(.2,.7,.2,1),opacity .28s ease}
.card--video .story-video-frame{position:absolute;z-index:0;inset:0;overflow:hidden;background:#070707;opacity:0;pointer-events:none;transition:opacity .28s ease}
.card--video .story-video-frame[hidden]{display:none}
.card--video.is-video-ready .story-video-frame{opacity:1}
.card--video .story-video-frame iframe,.card--video .story-video-frame video{position:absolute;display:block;border:0;background:#050505;object-fit:cover;pointer-events:none!important;user-select:none!important;outline:0;overflow:hidden}
.card--video .story-video-frame video{inset:0;width:100%;height:100%}
.card--video .story-video-frame iframe{inset:0;width:100%;height:100%;scrollbar-width:none;overflow:hidden!important}

/* Crop publisher chrome outside the visible card window. The iframe remains
   inert; SWUAK provides the only compact-card control (mute/unmute). */
.card--video[data-video-provider="youtube"] .story-video-frame iframe{top:-72px;left:-14px;width:calc(100% + 28px);height:calc(100% + 144px);transform:scale(1.015)}
.card--video[data-video-provider="dvids"] .story-video-frame iframe{top:-76px;left:-14px;width:calc(100% + 28px);height:calc(100% + 152px);transform:scale(1.02)}
.card--video[data-video-provider="vimeo"] .story-video-frame iframe{top:-38px;left:-8px;width:calc(100% + 16px);height:calc(100% + 76px)}

.card--video .story-card-shade{z-index:1;pointer-events:none}
.card--video .story-card-copy{z-index:3;pointer-events:none}
.card--video .story-video-play{position:absolute;z-index:5;top:50%;left:50%;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;outline:0;border-radius:50%;background:rgba(18,18,18,.62);box-shadow:0 3px 14px rgba(0,0,0,.24);cursor:pointer;transform:translate(-50%,-50%);transition:transform .24s ease,background .24s ease,opacity .2s ease}
.card--video .story-video-play span{width:0;height:0;margin-left:3px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid #fff}
.card--video .story-video-play:hover{transform:translate(-50%,-50%) scale(1.04);background:rgba(12,12,12,.74)}
.card--video .story-video-play:focus-visible{box-shadow:0 3px 14px rgba(0,0,0,.24)}
.card--video.is-video-playing .story-video-play{opacity:0;pointer-events:none}
.card--video.is-video-ready .story-card-image{opacity:0}

/* SWUAK-owned compact mute control. Videos always begin muted. */
.card--video .story-video-mute{position:absolute;z-index:6;top:9px;right:9px;display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;outline:0;border-radius:50%;background:rgba(15,15,15,.58);box-shadow:0 2px 8px rgba(0,0,0,.18);color:#fff;opacity:0;visibility:hidden;pointer-events:none;cursor:pointer;backdrop-filter:blur(5px);transition:opacity .2s ease,background .2s ease,transform .2s ease,visibility .2s}
.card--video.is-video-playing.is-video-ready .story-video-mute{opacity:1;visibility:visible;pointer-events:auto}
.card--video .story-video-mute:hover{background:rgba(10,10,10,.78);transform:scale(1.035)}
.card--video .story-video-mute:focus-visible{box-shadow:0 2px 8px rgba(0,0,0,.18)}
.card--video .story-video-mute svg{width:14px;height:14px;overflow:visible}
.card--video .story-video-mute .speaker{fill:currentColor;stroke:none}
.card--video .story-video-mute .waves,.card--video .story-video-mute .slash{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card--video .story-video-mute .slash{opacity:0}
.card--video .story-video-mute.is-muted .waves{opacity:.22}
.card--video .story-video-mute.is-muted .slash{opacity:1}

.card--video.is-video-loading:before{content:"";position:absolute;z-index:4;top:18px;right:18px;width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:story-video-spin .8s linear infinite;pointer-events:none}
.card--video.is-video-playing .story-card-shade{transition:opacity .26s ease}
.card--video.is-video-ready .story-card-shade{opacity:.72}
.card--video.is-video-playing:hover:after{opacity:.035}
@keyframes story-video-spin{to{transform:rotate(360deg)}}

/* Video is a content capability, not a layout size. Standard, wide and hero
   placements can all become video cards without being forced wider. */

/* Featured-carousel video slides never autoplay. The marker only signals that
   opening the story leads to a video article. */
.hero-carousel-slide--video .hero-video-play-marker{position:absolute;z-index:4;top:50%;left:50%;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(16,16,16,.62);box-shadow:0 3px 14px rgba(0,0,0,.24);transform:translate(-50%,-50%);pointer-events:none}
.hero-carousel-slide--video .hero-video-play-marker i{width:0;height:0;margin-left:3px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid #fff}

.article-video-figure{width:min(920px,100%);margin:24px auto 22px}
.article-video-shell{position:relative;overflow:hidden;width:100%;aspect-ratio:16/9;border-radius:12px;background:#0a0a0a;box-shadow:0 1px 0 rgba(255,255,255,.28),0 8px 26px rgba(37,31,22,.1);scrollbar-width:none}
.article-video-shell iframe,.article-video-shell video{display:block;width:100%;height:100%;border:0;outline:0;background:#050505;object-fit:cover;overflow:hidden}
.article-video-shell iframe::-webkit-scrollbar{display:none}
.article-video-shell--dvids iframe{position:absolute;top:-52px;left:-10px;width:calc(100% + 20px);height:calc(100% + 104px)}
.article-video-shell--youtube iframe{position:absolute;top:-58px;left:-10px;width:calc(100% + 20px);height:calc(100% + 116px)}
.article-video-figure figcaption{margin:7px 3px 0;color:#77736b;font-size:9px;text-align:right}

@media(max-width:760px){
  .card--video .story-video-play{width:42px;height:42px}
  .card--video .story-video-mute{top:7px;right:7px;width:28px;height:28px}
  .card--video[data-video-provider="youtube"] .story-video-frame iframe{top:-62px;left:-10px;width:calc(100% + 20px);height:calc(100% + 124px)}
  .article-video-shell{border-radius:9px}
}
@media(prefers-reduced-motion:reduce){
  .card--video .story-card-image,.card--video .story-video-play,.card--video .story-video-frame,.card--video .story-video-mute{transition:none}
  .card--video.is-video-loading:before{animation:none}
}

/* v56: compact feed videos are viewport-autoplay surfaces, not embedded mini players. */
.card--video .story-video-frame,.card--video .story-video-frame *{scrollbar-width:none!important}
.card--video .story-video-frame::-webkit-scrollbar,.card--video .story-video-frame iframe::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.card--video.is-video-loading .story-card-image{opacity:1!important}
.card--video.is-video-loading .story-video-frame{opacity:0!important}
.card--video.is-video-playing:not(.is-video-ready) .story-video-play{opacity:0!important;visibility:hidden!important}


/* v57: DVIDS uses its official embed again; the prior download URL was not a
   streamable media source. Keep publisher chrome outside the compact card. */
.card--video[data-video-provider="dvids"] .story-video-frame{overflow:hidden!important}
.card--video[data-video-provider="dvids"] .story-video-frame iframe{top:-92px!important;left:-18px!important;width:calc(100% + 36px)!important;height:calc(100% + 184px)!important;overflow:hidden!important}
.article-video-shell--dvids{overflow:hidden!important}
.article-video-shell--dvids iframe{top:-64px!important;left:-12px!important;width:calc(100% + 24px)!important;height:calc(100% + 128px)!important;overflow:hidden!important}
