/* =========================================================
   电影叙述 · 宽银幕沉浸（与真书 3D 完全不同的镜头语法）
   性能优先：CSS 合成层 + 短动画；无重滤镜叠加
   ========================================================= */

/* ---- 舞台外壳 ---- */
#mb-film-reader{
  background:
    radial-gradient(ellipse 70% 55% at 50% 42%,#2a1010 0%,#0a0505 48%,#000 100%);
  overflow:hidden;
}
.mbfilm-stage{
  /* 相对父级：左右不贴死屏幕（配合 .mb-stage 边距） */
  position:absolute;inset:3px 0;overflow:hidden;
  max-width:min(100%,980px);width:100%;margin:0 auto;left:0;right:0;
  background:#050303;
  border:1px solid rgba(255,210,150,.12);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.8),
    0 24px 70px rgba(0,0,0,.85),
    inset 0 0 80px rgba(0,0,0,.35);
  isolation:isolate;
  border-radius:6px;
  box-sizing:border-box;
}
.mbfilm-scene{
  position:absolute;inset:0;padding:0!important;z-index:2;overflow:hidden;
  will-change:transform,opacity,clip-path;
  contain:layout style paint;
}
.mbfilm-scene-next{z-index:3;opacity:0;pointer-events:none}
.mbfilm-scene>.fm{border-radius:0;height:100%}
.mbfilm-vignette{
  position:absolute;inset:-1px;z-index:8;pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 48%,transparent 38%,rgba(0,0,0,.28) 66%,rgba(0,0,0,.82) 100%);
  box-shadow:inset 0 0 90px rgba(0,0,0,.55);
}
.mbfilm-grain{
  position:absolute;inset:-40%;z-index:7;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:mbfilmGrain .32s steps(2) infinite;mix-blend-mode:screen;
}
@keyframes mbfilmGrain{
  0%{transform:translate3d(-3%,-2%,0)}
  50%{transform:translate3d(4%,3%,0)}
  100%{transform:translate3d(-2%,4%,0)}
}
.mbfilm-letterbox{
  position:absolute;left:0;right:0;height:6px;z-index:10;background:#000;pointer-events:none;
}
.mbfilm-letterbox-top{top:0;box-shadow:0 1px 0 rgba(255,255,255,.04)}
.mbfilm-letterbox-bottom{bottom:0;box-shadow:0 -1px 0 rgba(255,255,255,.04)}
/* 场记字幕关闭：避免压正文，场次信息已有 slug/tc */
.mbfilm-subtitle{display:none!important}
/* 旧 carousel 痕迹彻底失效 */
.mb-film-track,.mb-film-slide{display:none!important}

/* ---- 镜头通用 ---- */
.fm{
  height:100%;width:100%;max-height:100%;position:relative;overflow:hidden;
  background:#080606!important;box-sizing:border-box;color:#F7F3EC;
}
.fm-grain{
  position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.08;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}
.fm-sprocket{
  position:absolute;top:0;bottom:0;width:11px;z-index:4;pointer-events:none;
  background:repeating-linear-gradient(180deg,#000 0 5px,#1a1a1a 5px 7px,#000 7px 12px,#242424 12px 14px);
  opacity:.9;
}
.fm-sprocket.l{left:0}
.fm-sprocket.r{right:0}
.fm-tc{
  position:absolute;top:8px;right:18px;z-index:5;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:10px;letter-spacing:1.2px;color:rgba(255,92,92,.85);
}
.fm-slug{
  position:absolute;top:8px;left:18px;z-index:5;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:9px;letter-spacing:1.6px;color:rgba(255,255,255,.38);text-transform:uppercase;
}
.fm-inner{
  position:absolute;inset:0;z-index:2;padding:26px 7% 14px;
  display:flex;flex-direction:column;box-sizing:border-box;
}
.fm-fx-center{align-items:center;justify-content:center;text-align:center}
.fm-frame{
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  box-shadow:0 10px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
}
.fm-accent,.fm-accent-text{color:var(--mb-red)!important;font-style:normal}
.fm-accent-gold{color:var(--mb-gold)!important;font-style:normal}
.fm-pill{
  display:inline-block;padding:2px 8px;border-radius:999px;
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);
  letter-spacing:1px;
}

/* =========================================================
   SC.01 片头 — 主标题 + 侧栏数据
   ========================================================= */
.fm-title{
  background:
    radial-gradient(ellipse 58% 70% at 78% 28%,rgba(200,16,46,.34),transparent 58%),
    radial-gradient(ellipse 42% 50% at 18% 78%,rgba(201,169,97,.1),transparent 52%),
    linear-gradient(180deg,#160a0a 0%,#060404 100%)!important;
}
.fm-title .title-stage,
.fm-title .fm-inner.title-stage{
  display:grid!important;
  grid-template-columns:1.45fr .9fr;
  grid-template-rows:1fr auto;
  gap:10px 18px;
  align-items:stretch;
  text-align:left;
  padding:24px 5% 10px;
  min-height:0;overflow:hidden;box-sizing:border-box;
  justify-content:stretch;align-content:stretch;
}
.fm-title .title-main{
  grid-column:1;grid-row:1;
  display:flex;flex-direction:column;justify-content:center;gap:10px;min-height:0;min-width:0;
}
.fm-title .title-side{
  grid-column:2;grid-row:1;
  display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;min-height:0;
}
.fm-title .side-card{
  border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 8px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.2));
  display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:0;
}
.fm-title .side-card .n{
  font-family:var(--mb-serif);font-size:clamp(20px,3.2vw,28px);font-weight:700;color:#fff;line-height:1;
}
.fm-title .side-card .n i{font-style:normal;color:var(--mb-red);font-size:.48em}
.fm-title .side-card .n b{color:var(--mb-gold);font-size:.42em;font-weight:700}
.fm-title .side-card .l{font-size:10px;color:rgba(255,255,255,.45);margin-top:5px}
.fm-title .meta-row{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:9px;letter-spacing:1.2px;color:rgba(255,255,255,.45);margin:0;flex:0 0 auto;
}
.fm-title .meta-row .div{width:22px;height:1px;background:rgba(255,255,255,.22)}
.fm-title .big{
  font-family:var(--mb-serif);font-weight:700;
  font-size:clamp(26px,4.2vw,38px);line-height:1.08;letter-spacing:.4px;margin:0;
  text-shadow:0 8px 32px rgba(0,0,0,.5);
  display:flex;flex-direction:column;justify-content:flex-start;gap:2px;flex:0 0 auto;
}
.fm-title .big .ln{display:block;line-height:1.08}
.fm-title .big em,.fm-title .big .fm-accent{font-style:normal;color:var(--mb-red)}
.fm-title .tagline{
  font-size:12.5px;color:rgba(255,255,255,.62);max-width:42ch;line-height:1.55;margin:0;flex:0 0 auto;
}
.fm-title .bar{
  grid-column:1 / -1;grid-row:2;
  display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.1);padding-top:8px;
  font-size:10px;letter-spacing:1.4px;color:rgba(255,255,255,.35);flex-shrink:0;
}
.fm-title .bar strong{color:var(--mb-gold);font-weight:500}

/* =========================================================
   SC.02 数据 — 不规则英雄格 + 边框矩阵（垂直居中）
   ========================================================= */
.fm-nums{
  display:block!important;
  padding:0!important;
  background:
    radial-gradient(ellipse 50% 60% at 20% 50%,rgba(200,16,46,.16),transparent 55%),
    #070505!important;
  box-sizing:border-box;overflow:hidden;
}
.fm-nums .nums-stage{
  position:absolute;left:10px;right:10px;top:22px;bottom:8px;
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr 1fr;
  grid-template-rows:minmax(0,1fr) minmax(0,1fr);
  gap:6px;
  align-content:stretch;
  min-height:0;
}
.fm-nums .col{
  display:flex;flex-direction:column;justify-content:center;
  padding:10px 8px;min-width:0;min-height:0;position:relative;overflow:hidden;
  border-radius:6px;
}
.fm-nums .col.is-hero{
  grid-row:1 / span 2;
  justify-content:center;
  padding:16px 14px;
  background:
    linear-gradient(165deg,rgba(200,16,46,.28),rgba(12,8,8,.92) 55%),
    #100a0a;
  border-color:rgba(200,16,46,.35);
  transform:none;
}
.fm-nums .col .badge{
  position:absolute;top:8px;left:10px;
  font-size:8px;letter-spacing:1.5px;color:rgba(255,255,255,.45);
}
.fm-nums .col::before{
  content:'';position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,var(--mb-red),var(--mb-gold));
  opacity:.9;
}
.fm-nums .col .n{
  font-family:var(--mb-serif);font-weight:700;
  font-size:clamp(22px,3.4vw,34px);line-height:1;color:#fff;position:relative;z-index:1;
}
.fm-nums .col.is-hero .n{font-size:clamp(36px,6.2vw,54px)}
.fm-nums .col .n i{font-style:normal;color:var(--mb-red);font-size:.48em}
.fm-nums .col .n b{font-weight:700;color:var(--mb-gold);font-size:.42em}
.fm-nums .col .l{
  font-size:11px;color:rgba(255,255,255,.55);margin-top:8px;line-height:1.35;position:relative;z-index:1;
}
.fm-nums .col .en{
  font-family:var(--mb-latin);font-style:italic;font-size:9px;
  color:rgba(255,255,255,.28);margin-top:3px;position:relative;z-index:1;
}
.fm-nums .col:nth-child(3),
.fm-nums .col:nth-child(5),
.fm-nums .col:nth-child(6){transform:none}
/* 第二行铺满：4000 占两格，5万 占一格，消掉右下空洞 */
.fm-nums .col:nth-child(5){grid-column:2 / 4}
.fm-nums .col:nth-child(6){grid-column:4 / 5}

/* =========================================================
   SC.03 关于 — 斜切分屏 + 数据胶囊
   ========================================================= */
.fm-about{
  display:grid;grid-template-columns:40% 1fr;height:100%;
  clip-path:none;
}
.fm-about .panel-l{
  background:
    linear-gradient(155deg,rgba(200,16,46,.42),rgba(200,16,46,.08) 48%,transparent 82%),
    #120b0b;
  padding:28px 14px 14px;display:flex;flex-direction:column;justify-content:space-between;
  border-right:1px solid rgba(255,255,255,.08);min-height:0;
  position:relative;
}
.fm-about .panel-l::after{
  content:'';position:absolute;top:0;right:-18px;bottom:0;width:36px;
  background:linear-gradient(90deg,rgba(18,11,11,.95),transparent);
  pointer-events:none;
}
.fm-about .panel-l .mini{font-size:9px;letter-spacing:2px;color:rgba(255,255,255,.42);margin-bottom:8px}
.fm-about .panel-l h2{
  font-family:var(--mb-serif);font-size:clamp(20px,3vw,28px);line-height:1.14;font-weight:700;color:#fff;
}
.fm-about .panel-l .line{width:36px;height:2px;background:var(--mb-red);margin:12px 0 10px}
.fm-about .about-metrics{display:flex;gap:10px}
.fm-about .about-metrics .am{
  min-width:72px;padding:7px 10px;border-radius:6px;
  border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);
  display:flex;flex-direction:column;gap:2px;
}
.fm-about .about-metrics .am strong{font-family:var(--mb-serif);font-size:18px;line-height:1}
.fm-about .about-metrics .am strong span{font-size:.55em}
.fm-about .about-metrics .am span{font-size:9px;color:rgba(255,255,255,.45)}
.fm-about .panel-r{
  padding:14px 14px 12px;display:flex;flex-direction:column;justify-content:center;gap:8px;
  background:#090707;min-height:0;overflow:hidden;
}
.fm-about .panel-r p{font-size:12px;line-height:1.55;color:rgba(255,255,255,.64);margin:0}
.fm-about .panel-r p strong{color:#fff}
.fm-about .fit-box{
  padding:8px 10px;border-radius:8px;flex:0 0 auto;
}
.fm-about .fit-title{
  font-size:11px;letter-spacing:1px;color:var(--mb-gold);margin-bottom:6px;font-family:var(--mb-serif);
}
.fm-about .fit-list{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px}
.fm-about .fit-item{
  display:flex;align-items:flex-start;gap:6px;font-size:11px;line-height:1.35;color:rgba(255,255,255,.72);
}
.fm-about .fit-item i{
  width:6px;height:6px;border-radius:50%;margin-top:5px;flex-shrink:0;
  background:var(--mb-red);box-shadow:0 0 0 2px rgba(200,16,46,.2);
}
.fm-about .chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.fm-about .chip{
  font-size:9.5px;padding:4px 9px;border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.55);border-radius:999px;background:rgba(255,255,255,.03);
}
.fm-about .chip.is-hot{
  border-color:rgba(200,16,46,.45);color:#ffd0d0;background:rgba(200,16,46,.12);
}

/* =========================================================
   SC.04 视频 — 影院银幕
   ========================================================= */
.fm-video{display:flex;flex-direction:column;background:#030303!important}
.fm-video .cap{
  padding:12px 22px 8px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;
}
.fm-video .cap-kicker{
  display:block;font-size:9px;letter-spacing:1.6px;color:rgba(255,255,255,.38);margin-bottom:2px;
}
.fm-video .cap strong{color:#fff;font-weight:500;font-size:14px;font-family:var(--mb-serif)}
.fm-video .play-badge{
  font-size:10px;letter-spacing:1.2px;color:#ffd0d0;
  padding:4px 10px;border-radius:999px;border:1px solid rgba(200,16,46,.4);
  background:rgba(200,16,46,.12);
}
.fm-video .screen{
  flex:1;min-height:0;margin:0 14px 12px;border-radius:6px;
  background:
    radial-gradient(ellipse 50% 55% at 50% 45%,rgba(200,16,46,.18),transparent 60%),
    linear-gradient(180deg,#141010,#050505);
  position:relative;overflow:hidden;
  box-shadow:
    0 0 0 1px rgba(200,16,46,.2),
    0 16px 40px rgba(0,0,0,.55);
}
.fm-video .screen::before{
  content:'真实姐妹 · 感谢影像';position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);
  font-family:var(--mb-serif);font-size:15px;color:rgba(255,255,255,.35);letter-spacing:2px;
  pointer-events:none;z-index:0;white-space:nowrap;
}
.fm-video .screen video{width:100%;height:100%;object-fit:contain;position:relative;z-index:1}
.fm-video .video-meta{
  display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;
  padding:0 16px 10px;font-size:10px;letter-spacing:.8px;color:rgba(255,255,255,.38);flex-shrink:0;
}

/* =========================================================
   SC.05–06 对白 — 铺满高度的 2×2 卡片
   ========================================================= */
.fm-dialogue{
  padding:14px 12px 10px;display:flex;flex-direction:column;
  background:
    radial-gradient(ellipse 40% 50% at 85% 20%,rgba(200,16,46,.12),transparent 55%),
    linear-gradient(180deg,#0e0b0a,#070606)!important;
  box-sizing:border-box;overflow:hidden;
}
.fm-dialogue .head{
  font-family:var(--mb-serif);font-size:16px;margin-bottom:6px;color:#fff;flex-shrink:0;
  display:flex;align-items:baseline;gap:10px;padding:0 4px;
}
.fm-dialogue .head small{font-family:var(--mb-latin);font-style:italic;font-size:11px;color:var(--mb-faint)}
.fm-dialogue .country-bar{
  display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:8px;flex-shrink:0;
}
.fm-dialogue .cb{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  padding:7px 8px;border-radius:7px;min-width:0;
}
.fm-dialogue .cb-flag{font-size:12px;line-height:1}
.fm-dialogue .cb-name{font-size:10px;color:rgba(255,255,255,.45);letter-spacing:.5px}
.fm-dialogue .cb strong{font-size:12px;font-family:var(--mb-serif);line-height:1.2}
.fm-dialogue .rows{
  flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;
  gap:7px 9px;align-content:stretch;
}
.fm-dialogue .row{
  min-height:0;padding:10px 12px;border-radius:8px;
  display:flex;flex-direction:column;justify-content:center;gap:5px;
}
.fm-dialogue .row.is-tilt-a,
.fm-dialogue .row.is-tilt-b{transform:none}
.fm-dialogue .name{
  font-family:ui-monospace,Menlo,monospace;font-size:10px;letter-spacing:1px;
  color:var(--mb-gold);text-transform:uppercase;
}
.fm-dialogue .line{
  font-size:13px;line-height:1.45;color:rgba(255,255,255,.82);flex:0 1 auto;
  font-family:var(--mb-serif);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
/* SC.06 无国家条，卡片可略大字 */
.fm-dialogue:not(.has-countries) .line{font-size:14px;-webkit-line-clamp:4}
.fm-dialogue:not(.has-countries) .row{padding:12px 14px}

/* =========================================================
   SC.07 服务 — 六列边框价签
   ========================================================= */
.fm-svc{
  display:flex;flex-direction:column;padding:12px 10px 10px;background:#070606!important;box-sizing:border-box;
}
.fm-svc .head{
  display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;flex-shrink:0;
}
.fm-svc .head h2{font-family:var(--mb-serif);font-size:18px;color:#fff}
.fm-svc .head span{font-size:10px;color:rgba(255,255,255,.35);letter-spacing:1.5px}
.fm-svc .strip{
  flex:1;min-height:0;
  display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;gap:7px;
}
.fm-svc .sc{
  padding:12px 12px;display:flex;flex-direction:column;justify-content:center;gap:6px;
  min-width:0;min-height:0;border-radius:6px;border-top:2px solid rgba(200,16,46,.75);
  background:linear-gradient(180deg,#171311,#0e0c0a);
}
.fm-svc .sc.is-featured{
  border-top-color:var(--mb-gold);
  background:linear-gradient(180deg,#1c1410,#120d0a);
  transform:none;
  box-shadow:inset 0 0 0 1px rgba(201,169,97,.2);
}
.fm-svc .sc .no{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:rgba(255,90,90,.85);flex:0 0 auto}
.fm-svc .sc .t{font-size:15px;font-weight:600;line-height:1.25;color:#fff;font-family:var(--mb-serif);flex:0 0 auto}
.fm-svc .sc .p{
  font-size:12px;color:rgba(255,255,255,.52);line-height:1.45;flex:0 1 auto;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  min-height:0;
}
.fm-svc .sc .pr{
  font-size:14px;color:var(--mb-gold);margin-top:2px;font-weight:600;padding-top:6px;
  border-top:1px dashed rgba(255,255,255,.12);flex:0 0 auto;align-self:flex-start;
  min-width:48%;
}

/* =========================================================
   SC.08 流程 — 侧栏 + 时间码清单
   ========================================================= */
.fm-flow{display:grid;grid-template-columns:28% 1fr;height:100%}
.fm-flow .side{
  background:
    linear-gradient(180deg,rgba(200,16,46,.28),transparent 62%),
    #100909;
  padding:16px 14px;display:flex;flex-direction:column;justify-content:flex-end;
  border-right:1px solid rgba(255,255,255,.07);
}
.fm-flow .side .mini{font-size:9px;letter-spacing:1.8px;color:rgba(255,255,255,.4);margin-bottom:8px}
.fm-flow .side h2{font-family:var(--mb-serif);font-size:22px;line-height:1.15;color:#fff}
.fm-flow .side p{font-size:11.5px;color:rgba(255,255,255,.5);margin-top:8px;line-height:1.5}
.fm-flow .side-stat{
  margin-top:12px;padding:8px 10px;border-radius:6px;
  border:1px solid rgba(200,16,46,.3);background:rgba(200,16,46,.1);
  display:flex;align-items:baseline;gap:8px;
}
.fm-flow .side-stat strong{font-family:var(--mb-serif);font-size:20px}
.fm-flow .side-stat span{font-size:10px;color:rgba(255,255,255,.5)}
.fm-flow .list{
  display:flex;flex-direction:column;justify-content:stretch;padding:10px 12px;gap:6px;min-height:0;
}
.fm-flow .item{
  display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;
  padding:8px 10px;border-radius:6px;flex:1;min-height:0;
}
.fm-flow .item .tc{
  font-family:ui-monospace,Menlo,monospace;font-size:11px;color:rgba(255,90,90,.85);
}
.fm-flow .item .t{font-size:13.5px;font-weight:600;color:#fff;font-family:var(--mb-serif)}
.fm-flow .item .d{font-size:10.5px;color:rgba(255,255,255,.45);margin-top:1px;line-height:1.35}

/* =========================================================
   SC.09 生态 — 五格（含国家开放大学）
   ========================================================= */
.fm-eco{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-template-rows:1fr 1fr;
  height:100%;gap:6px;padding:22px 8px 8px;box-sizing:border-box;
  background:#070505!important;
}
/* 上排 3 卡 + 下排 3 卡 */
.fm-eco .cell:nth-child(1){grid-column:1 / 3}
.fm-eco .cell:nth-child(2){grid-column:3 / 5}
.fm-eco .cell:nth-child(3){grid-column:5 / 7}
.fm-eco .cell:nth-child(4){grid-column:1 / 3}
.fm-eco .cell:nth-child(5){grid-column:3 / 5}
.fm-eco .cell:nth-child(6){grid-column:5 / 7}
.fm-eco .cell{
  padding:14px 12px 16px;display:flex;flex-direction:column;justify-content:center;gap:8px;
  position:relative;overflow:hidden;min-height:0;border-radius:8px;
  background:linear-gradient(180deg,#14110f,#0b0908);
}
.fm-eco .cell.is-featured{
  border-color:rgba(201,169,97,.35);
  background:linear-gradient(180deg,#1a1410,#100c09);
  transform:none;
  box-shadow:inset 0 0 0 1px rgba(201,169,97,.18);
}
.fm-eco .cell::before{
  content:attr(data-n);position:absolute;top:6px;right:8px;
  font-family:var(--mb-serif);font-size:36px;font-weight:700;color:rgba(255,255,255,.08);line-height:1;
}
.fm-eco .cell::after{
  content:'';position:absolute;left:0;top:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--mb-red),transparent);
}
.fm-eco .cell .tag{font-size:10px;letter-spacing:1.5px;color:var(--mb-gold);margin:0;position:relative}
.fm-eco .cell .t{font-family:var(--mb-serif);font-size:16px;font-weight:600;margin:0;color:#fff;position:relative;line-height:1.25}
.fm-eco .cell .p{font-size:12px;color:rgba(255,255,255,.52);line-height:1.5;position:relative;margin:0}

/* =========================================================
   SC.10 小程序 — 铺满舞台的横版信息卡
   ========================================================= */
.fm-mini{
  display:flex;align-items:stretch;justify-content:center;padding:18px 14px 10px;
  background:
    radial-gradient(ellipse 48% 58% at 50% 50%,rgba(200,16,46,.16),transparent 62%),
    #070606!important;
  box-sizing:border-box;
}
.fm-mini .mini-stage{
  display:grid;grid-template-columns:minmax(120px,30%) 1fr;grid-template-rows:1fr auto;
  gap:12px 18px;width:100%;height:100%;min-height:0;text-align:left;align-items:center;
}
.fm-mini .qr{
  grid-column:1;grid-row:1;
  width:min(100%,160px);aspect-ratio:1;height:auto;padding:9px;background:#fff;
  border-radius:10px;justify-self:center;box-sizing:border-box;
  box-shadow:0 0 0 1px rgba(255,255,255,.12),0 18px 44px rgba(0,0,0,.55);
}
.fm-mini .qr img{width:100%;height:100%;object-fit:contain}
.fm-mini .copy{
  grid-column:2;grid-row:1;
  max-width:none;min-height:0;
  display:flex;flex-direction:column;justify-content:center;gap:8px;padding:2px 0;
}
.fm-mini .copy .mini{font-size:9px;letter-spacing:1.8px;color:rgba(255,255,255,.4);margin:0}
.fm-mini .copy h2{font-family:var(--mb-serif);font-size:clamp(20px,3vw,26px);margin:0;color:#fff}
.fm-mini .copy p{font-size:12.5px;color:rgba(255,255,255,.6);line-height:1.5;margin:0}
.fm-mini .tags{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.fm-mini .tags span{
  font-size:10.5px;padding:5px 10px;border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.58);
  border-radius:999px;background:rgba(255,255,255,.04);
}
.fm-mini .mini-feats{
  grid-column:1 / -1;grid-row:2;
  display:grid;grid-template-columns:repeat(4,1fr);gap:7px;min-height:0;
}
.fm-mini .feat{
  padding:8px 10px;border-radius:7px;display:flex;flex-direction:column;gap:3px;min-width:0;
}
.fm-mini .feat strong{font-size:12px;color:#fff;font-family:var(--mb-serif)}
.fm-mini .feat span{font-size:10px;color:rgba(255,255,255,.42);line-height:1.3}

/* =========================================================
   SC.11 全球星嫂 — 海报竖图完整显示（contain，不裁切）
   ========================================================= */
.fm-star{
  display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);
  height:100%;min-height:0;box-sizing:border-box;
  padding:22px 8px 8px; /* 顶部留给 slug / 时间码 */
  gap:8px;
}
.fm-star .poster{
  position:relative;overflow:hidden;min-height:0;border-radius:8px;
  background:linear-gradient(180deg,#14100e,#0a0807);
  display:flex;align-items:center;justify-content:center;
}
/* 竖版海报：完整入框，禁止 cover 裁切上下/左右 */
.fm-star .poster img{
  width:100%;height:100%;max-width:100%;max-height:100%;
  object-fit:contain;object-position:center center;
  display:block;will-change:auto;
}
.fm-star .poster::after{display:none}
.fm-star .info{
  padding:4px 8px 2px 10px;display:flex;flex-direction:column;justify-content:center;
  background:transparent;min-height:0;overflow:hidden;gap:5px;
}
.fm-star .info .kicker{
  font-size:9px;letter-spacing:1.5px;color:var(--mb-gold);margin:0;flex-shrink:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.fm-star .info h2{
  font-family:var(--mb-serif);font-size:clamp(15px,2.3vw,22px);line-height:1.12;
  margin:0;color:#fff;flex-shrink:0;
}
.fm-star .info h2 em{font-style:normal}
.fm-star .info p{
  font-size:11.5px;color:rgba(255,255,255,.52);line-height:1.35;margin:0;flex-shrink:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.fm-star .price{
  display:inline-flex;align-items:baseline;gap:8px;flex-shrink:0;
  padding:6px 10px;border-radius:8px;align-self:flex-start;
  border:1px solid rgba(201,169,97,.35)!important;
  background:linear-gradient(180deg,rgba(201,169,97,.14),rgba(0,0,0,.22));
}
.fm-star .price-n{font-family:var(--mb-serif);font-size:clamp(16px,2.4vw,22px);color:var(--mb-gold);font-weight:700;line-height:1}
.fm-star .price-tag{font-size:10px;color:rgba(255,255,255,.45);white-space:nowrap}
/* 三权益：两列网格，第三项跨列 */
.fm-star .list{
  display:grid;grid-template-columns:1fr 1fr;
  gap:5px;flex:1 1 auto;min-height:0;align-content:stretch;
}
.fm-star .list > .fm-frame:nth-child(3){grid-column:1 / -1}
.fm-star .list .fm-frame,
.fm-star .list > div{
  font-size:11px;color:rgba(255,255,255,.78);min-height:0;
  padding:6px 8px;border-radius:7px;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;
  border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);
}
.fm-star .list span{
  color:rgba(255,255,255,.4);font-size:9.5px;line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;
}

/* =========================================================
   SC.12 历程
   ========================================================= */
.fm-mile{display:flex;flex-direction:column;padding:16px 12px 10px;background:#070606!important;box-sizing:border-box}
.fm-mile .head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;flex-shrink:0}
.fm-mile .head h2{font-family:var(--mb-serif);font-size:18px;color:#fff}
.fm-mile .head span{font-size:10px;color:rgba(255,255,255,.35);letter-spacing:1.5px}
.fm-mile .track{
  flex:1;min-height:0;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;align-items:stretch;
}
.fm-mile .m{
  padding:14px 10px;position:relative;display:flex;flex-direction:column;justify-content:center;gap:8px;border-radius:6px;
  border-left:2px solid var(--mb-red);
  background:linear-gradient(180deg,#171311,#0f0c0a);min-height:0;
}
.fm-mile .m.is-peak{
  transform:none;
  border-left-color:var(--mb-gold);
  box-shadow:inset 0 0 0 1px rgba(201,169,97,.18);
  background:linear-gradient(180deg,#1c1410,#120d0a);
}
.fm-mile .m.future{border-left-color:var(--mb-gold)}
.fm-mile .m .y{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:rgba(255,90,90,.9);flex:0 0 auto}
.fm-mile .m .t{font-size:14px;font-weight:600;margin:0;line-height:1.3;color:#fff;font-family:var(--mb-serif);flex:0 0 auto}
.fm-mile .m .d{font-size:11.5px;color:rgba(255,255,255,.5);line-height:1.45;flex:0 1 auto;margin:0}

/* =========================================================
   SC.13 片尾 — 精简居中 CTA（去保障卡 / 三步，避免挤）
   ========================================================= */
.fm-outro{
  display:flex;align-items:stretch;justify-content:center;
  background:
    radial-gradient(ellipse 55% 50% at 50% 42%,rgba(200,16,46,.26),transparent 62%),
    #050303!important;
  box-sizing:border-box;padding:16px 18px 14px;
}
.fm-outro .outro-stage{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:8px 10px;max-width:560px;width:100%;height:100%;gap:12px;
}
.fm-outro .seal{
  width:48px;height:48px;border-radius:12px;margin:0;
  background:linear-gradient(145deg,var(--mb-red),var(--mb-red-deep));color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mb-serif);font-weight:900;font-size:26px;
  box-shadow:0 10px 28px rgba(200,16,46,.4);flex-shrink:0;
}
.fm-outro h2{font-family:var(--mb-serif);font-size:clamp(20px,3.2vw,28px);margin:0;color:#fff;letter-spacing:.04em}
.fm-outro p{font-size:12.5px;color:rgba(255,255,255,.62);line-height:1.5;max-width:40ch;margin:0}
.fm-outro .outro-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:min(100%,420px);
}
.fm-outro .os{
  border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px 8px;
  background:rgba(255,255,255,.04);
  display:flex;flex-direction:column;align-items:center;gap:4px;
}
.fm-outro .os strong{font-family:var(--mb-serif);font-size:18px;line-height:1}
.fm-outro .os span{font-size:10px;color:rgba(255,255,255,.45)}
/* 旧块保留选择器空样式，避免历史截图/脚本误伤 */
.fm-outro .guard-row,.fm-outro .next-steps{display:none!important}
.fm-outro .acts{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;width:min(100%,420px)}
.fm-outro .acts .mb-btn{
  flex:1 1 140px;justify-content:center;padding:12px 18px;font-size:13px;border-radius:999px;
}
.fm-outro .acts .mb-btn-red{box-shadow:0 10px 24px rgba(200,16,46,.32)}
.fm-outro .meta{margin:0;font-size:10px;color:rgba(255,255,255,.3);letter-spacing:.4px;line-height:1.4}

/* =========================================================
   小屏与减动效
   iPhone 15 横屏约 393 高：原先 360 断点罩不到，Pro Max(~430) 却正常
   ========================================================= */
/* 矮横屏：宽布局保留，字号略收小，防超框 */
@media (max-height:420px){
  .mbfilm-stage{inset:2px 0;border-radius:5px}
  .mbfilm-letterbox{height:4px}
  .fm-title .title-stage{grid-template-columns:1.4fr .95fr;gap:6px 12px;padding:12px 4% 5px}
  .fm-title .big{font-size:clamp(17px,3.1vw,22px)}
  .fm-title .tagline{font-size:10px;max-width:100%;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
  .fm-title .side-card{padding:6px 5px}
  .fm-title .side-card .n{font-size:clamp(13px,2.4vw,17px)}
  .fm-title .side-card .l{font-size:8px}
  .fm-nums .nums-stage{top:12px;bottom:4px;left:4px;right:4px;gap:4px}
  .fm-nums .col{padding:5px 4px}
  .fm-nums .col.is-hero .n{font-size:clamp(24px,4.6vw,32px)}
  .fm-nums .col .n{font-size:clamp(14px,2.5vw,19px)}
  .fm-nums .col .l{font-size:9px}
  .fm-nums .col .en{display:none}
  .fm-about{grid-template-columns:38% 1fr}
  .fm-about .panel-l{padding:14px 10px 10px}
  .fm-about .panel-r{padding:10px 10px 8px}
  .fm-about .panel-l h2{font-size:clamp(15px,2.4vw,20px)}
  .fm-about .fit-list{grid-template-columns:1fr 1fr}
  .fm-about .fit-item{font-size:9.5px}
  .fm-about .about-metrics .am strong{font-size:13px}
  .fm-dialogue{padding:10px 8px 5px}
  .fm-dialogue .line{font-size:11px;-webkit-line-clamp:3}
  .fm-dialogue .head{font-size:14px}
  .fm-dialogue .country-bar{gap:4px}
  .fm-dialogue .cb{padding:4px 5px}
  .fm-dialogue .cb strong{font-size:10px}
  .fm-svc{padding:6px 7px}
  .fm-svc .head{margin-bottom:4px}
  .fm-svc .head h2{font-size:15px}
  .fm-svc .sc{padding:7px 8px}
  .fm-svc .sc .t{font-size:12px}
  .fm-svc .sc .p{font-size:9.5px;-webkit-line-clamp:2}
  .fm-svc .sc .pr{font-size:11px}
  .fm-flow{grid-template-columns:26% 1fr}
  .fm-flow .side{padding:10px 10px}
  .fm-flow .side h2{font-size:16px}
  .fm-flow .side p{font-size:10px}
  .fm-flow .list{padding:6px 8px}
  .fm-flow .item{padding:5px 8px}
  .fm-flow .item .t{font-size:12px}
  .fm-flow .item .d{font-size:10px}
  .fm-eco{padding:16px 7px 7px;gap:6px}
  .fm-eco .cell{padding:8px 9px}
  .fm-eco .t{font-size:13px}
  .fm-eco .p{font-size:10px;-webkit-line-clamp:3}
  .fm-mini{padding:10px 8px 5px}
  .fm-mini .mini-stage{gap:6px 12px;grid-template-columns:minmax(92px,26%) 1fr}
  .fm-mini .copy h2{font-size:clamp(15px,2.5vw,18px)}
  .fm-mini .copy p{font-size:10.5px;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
  .fm-mini .tags span{font-size:9.5px;padding:4px 7px}
  .fm-mini .feat strong{font-size:10px}
  .fm-mini .feat span{font-size:8.5px}
  .fm-star{grid-template-columns:minmax(0,36%) minmax(0,1fr);padding:18px 6px 6px;gap:6px}
  .fm-star .poster{border-radius:6px}
  .fm-star .info{padding:2px 6px 2px 8px;gap:3px;justify-content:flex-start}
  .fm-star .info .kicker{font-size:8px;letter-spacing:1px}
  .fm-star .info h2{font-size:clamp(13px,2vw,16px);line-height:1.1}
  .fm-star .info p{font-size:10px;line-height:1.3;-webkit-line-clamp:2}
  .fm-star .price{padding:4px 8px;gap:6px}
  .fm-star .price-n{font-size:14px}
  .fm-star .price-tag{font-size:8.5px}
  .fm-star .list{gap:3px;margin-top:2px}
  .fm-star .list .fm-frame,
  .fm-star .list > div{padding:4px 6px;font-size:10px;border-radius:6px}
  .fm-star .list span{font-size:8.5px}
  .fm-mile{padding:10px 8px 6px}
  .fm-mile .m{padding:6px 5px}
  .fm-mile .m .y{font-size:11px}
  .fm-mile .m .t{font-size:10.5px}
  .fm-mile .m .d{font-size:9px}
  .fm-outro{padding:10px 12px 8px}
  .fm-outro .outro-stage{gap:8px;padding:4px 6px;max-width:520px}
  .fm-outro .seal{width:40px;height:40px;font-size:22px}
  .fm-outro h2{font-size:clamp(16px,2.6vw,20px)}
  .fm-outro p{font-size:11px;max-width:36ch}
  .fm-outro .outro-stats{gap:6px;width:min(100%,360px)}
  .fm-outro .os{padding:7px 6px}
  .fm-outro .os strong{font-size:14px}
  .fm-outro .os span{font-size:9px}
  .fm-outro .acts{gap:8px;width:min(100%,360px)}
  .fm-outro .acts .mb-btn{padding:9px 14px;font-size:12px}
  .fm-outro .meta{font-size:8.5px}
}
@media (max-height:360px){
  .mbfilm-stage{inset:1px 3px}
  .fm-title .big{font-size:20px}
  .fm-nums .col.is-hero .n{font-size:clamp(24px,4.8vw,32px)}
  .fm-dialogue .line{font-size:11px}
  .fm-star{padding:16px 4px 4px;grid-template-columns:minmax(0,34%) minmax(0,1fr);gap:4px}
  .fm-star .info p{-webkit-line-clamp:1}
  .fm-star .price-n{font-size:13px}
  .fm-star .list > div{padding:3px 5px}
  .fm-outro .seal{width:38px;height:38px;font-size:20px}
}
@media (max-width:700px){
  .fm-nums .nums-stage{
    left:6px;right:6px;top:20px;bottom:6px;
    grid-template-columns:1.3fr 1fr 1fr 1fr;
    grid-template-rows:minmax(0,1fr) minmax(0,1fr);
    gap:4px;
  }
  .fm-nums .col.is-hero{
    grid-row:1 / span 2;
    transform:none;
    padding:8px 6px;
  }
  .fm-nums .col.is-hero .n{font-size:clamp(24px,4.8vw,34px)}
  .fm-nums .col .badge{display:none}
  .fm-nums .col .en{display:none}
  .fm-nums .col .l{font-size:9.5px;margin-top:4px}
  .fm-nums .col{padding:6px 5px}
  .fm-nums .col .n{font-size:clamp(16px,3vw,22px)}
  .fm-svc .strip{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;gap:5px}
  .fm-svc .sc{padding:10px}
  .fm-svc .sc .t{font-size:13px}
  .fm-svc .sc .p{font-size:10.5px}
  .fm-eco{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;padding-top:24px}
  .fm-mile .track{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
  .fm-mile .m .t{font-size:11.5px}
  .fm-mile .m .d{font-size:9.5px}
  .fm-title .title-stage{grid-template-columns:1.15fr 1fr;gap:8px 10px;padding:18px 3.5% 8px}
  .fm-title .big{font-size:clamp(20px,3.8vw,28px)}
  .fm-title .tagline{font-size:11px;max-width:100%;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
  .fm-title .side-card{padding:8px 6px}
  .fm-title .side-card .n{font-size:clamp(16px,3vw,22px)}
  .fm-title .side-card .l{font-size:9px}
  .fm-mini .mini-stage{grid-template-columns:minmax(96px,28%) 1fr;gap:8px 12px}
  .fm-mini .copy h2{font-size:clamp(18px,3.4vw,22px)}
  .fm-mini .copy p{font-size:11.5px}
  .fm-mini .tags span{font-size:10px;padding:5px 9px}
  .fm-mini .mini-feats{grid-template-columns:repeat(4,1fr);gap:5px}
  .fm-mini .feat{padding:6px 7px}
  .fm-mini .feat strong{font-size:11px}
  .fm-mini .feat span{font-size:9px}
  .fm-outro .outro-stats{gap:6px}
  .fm-outro .os strong{font-size:15px}
  .fm-outro .acts .mb-btn{padding:10px 14px;font-size:12px}
  .fm-video .video-meta{font-size:9px;padding:0 12px 8px}
  .fm-about .fit-list{grid-template-columns:1fr}
  .fm-about .fit-item{font-size:10px}
  .fm-dialogue .country-bar{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .fm-dialogue .cb{padding:5px 6px}
  .fm-dialogue .cb strong{font-size:10.5px}
  .fm-about{grid-template-columns:36% 1fr}
  .fm-about .about-metrics .am{min-width:60px;padding:6px 8px}
  .fm-about .about-metrics .am strong{font-size:15px}
  .fm-dialogue .line{font-size:12px}
  .fm-svc{padding:10px}
  .fm-svc .head{margin-bottom:6px}
}
@media (prefers-reduced-motion:reduce){
  .mbfilm-grain{animation:none!important;display:none}
  .mbfilm-scene{filter:none!important}
  .fm-nums .col.is-hero,
  .fm-dialogue .row.is-tilt-a,
  .fm-dialogue .row.is-tilt-b,
  .fm-svc .sc.is-featured,
  .fm-eco .cell.is-featured,
  .fm-mile .m.is-peak{transform:none}
}
