/* =====================================================================
   首页模块一「双资质同体」影片模块 · v20260923v1
   作用域：仅 index.html 引入本文件（<link rel="stylesheet" href="css/home-video.css">），
   其余 31 个页面不加载 → 结构上保证零回归。
   类名独立（firm-video__*），刻意不复用 .painbar__* 版式类：css/style.css 内
   2026-09-22 第三轮的 .home .painbar__video / .home .painbar__grid 规则已随
   竖屏素材下线而失效（不再有元素命中），不会与本文件竞争，故无需改动既有样式表。

   素材：images/shuofa-intro-16x9.mp4 = 1920×1080 横屏 16:9，30fps，1 分 13 秒，
        1277 kbps，11.89 MB；封面 images/shuofa-intro-poster.jpg = 1920×1080。
   版式：左文右片，影片列更宽（1fr : 1.14fr）。银幕深蓝底 + 柔光投影 + 内侧
        1px 亮边，形成「影院式」层次；aspect-ratio 预占位防止加载抖动；
        object-fit:contain 绝不裁切画面；窄屏降为单列。
   ===================================================================== */
.firm-video__grid{display:grid;grid-template-columns:1fr 1.14fr;gap:56px;align-items:center}

.firm-video{min-width:0;display:flex;flex-direction:column;gap:16px}

.firm-video__figure{margin:0;min-width:0;display:flex;flex-direction:column}

.firm-video__screen{position:relative;display:block;width:100%;aspect-ratio:16/9;
  border-radius:16px;overflow:hidden;background:var(--color-primary-deep);
  box-shadow:0 1px 0 rgba(255,255,255,.5) inset,
    0 26px 56px -22px rgba(10,31,60,.5),
    0 8px 20px -12px rgba(10,31,60,.28)}
.firm-video__screen::after{content:"";position:absolute;inset:0;border-radius:inherit;
  pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}

.firm-video__figure video{display:block;width:100%;height:100%;max-width:100%;
  aspect-ratio:16/9;object-fit:contain;background:var(--color-primary-deep)}

.firm-video__figure figcaption{margin-top:12px;position:relative;padding-left:14px;
  text-align:left;font-size:13px;line-height:1.7;color:var(--color-text-muted)}
.firm-video__figure figcaption::before{content:"";position:absolute;left:0;top:.62em;
  width:6px;height:6px;border-radius:50%;background:var(--color-accent)}

.firm-video__note{padding:18px 20px 20px;border:1px solid var(--color-line);
  border-left:3px solid var(--color-accent);border-radius:0 12px 12px 0;
  background:var(--color-bg-alt)}
.firm-video__note-title{margin:0 0 8px;font-size:15px;font-weight:700;line-height:1.5;
  color:var(--color-primary)}
.firm-video__note p{margin:0;font-size:13.5px;line-height:1.85;color:var(--color-text)}

@media(max-width:1024px){
  .firm-video__grid{grid-template-columns:1fr;gap:34px}
  .firm-video{max-width:720px;margin:0 auto}
}
@media(max-width:768px){
  .firm-video__figure figcaption{font-size:12.5px}
  .firm-video__note{padding:16px 16px 18px}
  .firm-video__note-title{font-size:14.5px}
  .firm-video__screen{border-radius:12px}
}
