.home-factory{background:#111317;color:#fff;padding:96px 24px;font-family:MiSans,sans-serif}.home-factory h2{margin:0 auto 48px;text-align:center;font-size:36px;line-height:50px;font-weight:600}.home-factory__media{width:min(960px,100%);aspect-ratio:16/9;margin:auto;overflow:hidden;border-radius:16px;background:#dbdbdb}.home-factory__media>.fa3d-home-media{width:100%;height:100%;object-fit:cover}.fa3d-home-media--embed iframe{width:100%;height:100%;border:0}.fa3d-home-media-link{display:block;padding:16px;color:inherit}.press-play{background:#000!important;color:#fff!important}.press-play h2,.press-play article h3,.press-play article p{color:#fff!important}
@media(min-width:981px){.continuous-printing--factory{height:933px;background:#000}.continuous-printing--factory .continuous-printing__copy{top:105px;left:calc(50% - 480px);width:960px;display:flex;justify-content:space-between;align-items:center;transform:none}.continuous-printing--factory .continuous-printing__kicker{width:auto;margin:0 0 8px;color:#999;font-size:20px;line-height:27px}.continuous-printing--factory h2{width:auto;margin:0;font-size:48px;line-height:67px}.continuous-printing--factory .continuous-printing__copy>p{width:368px}.continuous-printing--factory .continuous-printing__media{top:288px;left:calc(50% - 480px);width:960px;height:540px}.continuous-printing--factory .continuous-printing__media>.fa3d-home-media{position:static;width:100%;height:100%;object-fit:cover}.figma-nozzle>.fa3d-home-media{position:absolute;top:139px;left:calc(50% - 20px);width:500px;height:300px;object-fit:cover;border-radius:16px}.figma-nozzle>div:not(.fa3d-home-media){left:calc(50% - 480px);top:211px;width:361px}.figma-nozzle::after{display:none}.preheat-stage__media>.fa3d-home-media{width:100%;height:100%;object-fit:contain}.preheat-stage__copy{top:50%;left:calc(50% + 112px);transform:translateY(-50%)}.material-compatibility>.fa3d-home-media{position:absolute;top:124px;left:calc(50% + 9px);width:500px;height:300px;object-fit:contain}}
@media(max-width:980px){.home-factory{padding:48px 24px}.home-factory h2{font-size:28px;line-height:1.4;margin-bottom:24px;text-align:left}.continuous-printing--factory .continuous-printing__kicker{color:#999}.preheat-stage__media>video,.continuous-printing__media>video{width:100%;height:100%;object-fit:contain}.material-compatibility>video,.figma-nozzle>video{max-width:100%;height:auto}}
.mds-showcase{background:#000}.mds-card{background:#1a1a1a;color:#fff}.mds-card h3{font-size:24px;line-height:28.8px}.mds-card ul{color:#999}.mds-card small{color:#080808}.press-play .step-label{color:#fff!important}
@media(min-width:981px){.mds-showcase>h2{top:67px;left:50%;transform:translateX(-50%);width:816px}.mds-card{top:122px}.mds-card>img{top:86px;left:101px;width:345px;height:205px;object-fit:contain}.mds-card .mds-kicker{top:88px}.mds-card h3{top:113px}.mds-card ul{top:205px}.material-compatibility__copy{left:calc(50% - 480px)}.material-compatibility>.fa3d-home-media{top:100px;left:calc(50% - 20px);border-radius:16px}}
@media(min-width:981px){.press-play>h2{left:calc(50% - 480px);width:960px;text-align:left}.press-play article .step-label{left:14px}.press-play article h3,.press-play article>p:last-of-type{left:88px}.press-play article>p:last-of-type{top:343px;width:207px}.preheat-stage__media{top:107px}}
.preheat-stage__media>.fa3d-home-media--embed,.continuous-printing__media>.fa3d-home-media--embed{width:100%;height:100%}
@media(max-width:700px){.figma-nozzle>.fa3d-home-media,.material-compatibility>.fa3d-home-media{position:relative;order:2;inset:auto;width:100%;max-width:100%;height:auto;margin:24px 0 0;border-radius:14px;opacity:1;transform:none;object-fit:contain}.figma-nozzle>.fa3d-home-media--embed,.material-compatibility>.fa3d-home-media--embed,.preheat-stage__media:has(>.fa3d-home-media--embed),.continuous-printing__media:has(>.fa3d-home-media--embed){aspect-ratio:5/3}.home-factory__media>.fa3d-home-media--embed{aspect-ratio:16/9}.continuous-printing--factory{background:#000}}
@media(min-width:701px) and (max-width:980px){.figma-nozzle>.fa3d-home-media{position:absolute;top:50%;left:auto;right:2%;width:44%;height:auto;aspect-ratio:5/3;transform:translateY(-50%);object-fit:contain}.material-compatibility>.fa3d-home-media{position:absolute;top:50%;left:auto;right:4%;width:44%;height:auto;aspect-ratio:5/3;transform:translateY(-50%);object-fit:contain}}
/* 桌面 / 移动端两份媒体元素：700px 以下切到移动端那一份；没填移动端专属媒体时不会输出第二份，行为与原来一致。 */
.fa3d-home-media--mobile{display:none}
@media(max-width:700px){.fa3d-home-media--desktop{display:none!important}.fa3d-home-media--mobile{display:block}}

/* ===== 视频尺寸（只作用于 video，上面 1–15 行图片规则一行未改）=====
   规格（甲方给定）：
     Your Personal Desktop Factory  960×540  16:9   移动端 420×236
     4-Color Multi-Material / 24/7   960×540  16:9   移动端 420×236
     1s Nozzle Swap                  500×300   5:3   移动端 420×236
     Heat-Up                         500×300   5:3   移动端 420×236
     Material Compatibility          500×300   5:3   移动端 420×236
   1440 视口下容器正好 960 / 500，用 100% + 16:9、100% + 5:3 即可精确等于给定尺寸，
   窄屏时按容器等比缩小、不溢出；移动端用 420×236 并限制不超过容器宽度。 */

/* ---------- 桌面 ≥981px ---------- */
@media(min-width:981px){
  /* 960×540 16:9：24/7 通栏。Banner 下方（Factory）的媒体框不是定位元素，
     由第 1 行既有的 100%×100% 撑满 960×540，这里不再覆盖。 */
  .continuous-printing--factory .continuous-printing__media>video.fa3d-home-media{
    position:absolute;top:0;left:0;right:auto;bottom:auto;
    width:100%;height:100%;max-width:none;aspect-ratio:16/9;
    transform:none;object-fit:cover;margin:0;
  }
  /* 500×300 5:3：1s Nozzle Swap —— 与图片同位 top:139px / left:calc(50% - 20px) */
  .figma-nozzle>video.fa3d-home-media{
    position:absolute;top:139px;left:calc(50% - 20px);right:auto;bottom:auto;
    width:500px;height:300px;max-width:none;aspect-ratio:5/3;
    transform:none;object-fit:cover;border-radius:16px;margin:0;
  }
  /* 500×300 5:3：Heat-Up —— 填满 500×300 媒体框 */
  .preheat-stage__media>video.fa3d-home-media{
    position:absolute;top:0;left:0;right:auto;bottom:auto;
    width:100%;height:100%;max-width:none;aspect-ratio:5/3;
    transform:none;object-fit:cover;margin:0;
  }
  /* 500×300 5:3：Material Compatibility —— 与图片同位 top:100px / left:calc(50% - 20px) */
  .material-compatibility>video.fa3d-home-media{
    position:absolute;top:100px;left:calc(50% - 20px);right:auto;bottom:auto;
    width:500px;height:300px;max-width:none;aspect-ratio:5/3;
    transform:none;object-fit:contain;border-radius:16px;margin:0;
  }
}

/* ---------- 平板 701–980px：跟随各模块图片既有布局等比缩小 ---------- */
@media(min-width:701px) and (max-width:980px){
  .continuous-printing--factory .continuous-printing__media>video.fa3d-home-media{
    position:absolute;top:0;left:0;right:auto;bottom:auto;
    width:100%;height:100%;max-width:none;aspect-ratio:16/9;
    transform:none;object-fit:cover;margin:0;
  }
  .figma-nozzle>video.fa3d-home-media{
    position:absolute;top:50%;left:auto;right:2%;bottom:auto;
    width:44%;max-width:44%;height:auto;aspect-ratio:5/3;
    transform:translateY(-50%);object-fit:cover;border-radius:14px;margin:0;
  }
  .preheat-stage__media>video.fa3d-home-media{
    position:absolute;top:0;left:0;right:auto;bottom:auto;
    width:100%;height:100%;max-width:none;aspect-ratio:5/3;
    transform:none;object-fit:cover;margin:0;
  }
  .material-compatibility>video.fa3d-home-media{
    position:absolute;top:50%;left:auto;right:4%;bottom:auto;
    width:44%;max-width:44%;height:auto;aspect-ratio:5/3;
    transform:translateY(-50%);object-fit:contain;border-radius:14px;margin:0;
  }
}

/* ---------- 手机 ≤700px：统一 420×236 ---------- */
@media(max-width:700px){
  /* 直接挂在 section 下的两个（Nozzle / Material）：文字在上、媒体在下，
     图片走 figma-layout.css:690 的 margin:24px 0 0，视频必须给同样的 24px 上间距，
     否则文字与画面之间会贴死；左右 auto 维持水平居中。 */
  .figma-nozzle>video.fa3d-home-media,
  .material-compatibility>video.fa3d-home-media{
    position:relative;top:auto;left:auto;right:auto;bottom:auto;
    width:min(420px,100%);max-width:100%;height:auto;
    aspect-ratio:420/236;transform:none;object-fit:cover;margin:24px auto 0;
  }
  /* 位于媒体框内部的三个（Factory / Heat-Up / 24-7）：间距由外层媒体框的
     margin:24px 0 0 提供，视频自身不能再加，否则框内会多出空隙。 */
  .home-factory__media>video.fa3d-home-media,
  .continuous-printing--factory .continuous-printing__media>video.fa3d-home-media,
  .preheat-stage__media>video.fa3d-home-media{
    position:relative;top:auto;left:auto;right:auto;bottom:auto;
    width:min(420px,100%);max-width:100%;height:auto;
    aspect-ratio:420/236;transform:none;object-fit:cover;margin:0 auto;
  }
}

/* 原结构板块及 UV 1–4：图片、视频和嵌入框共用圆角；嵌入框裁切内部 iframe。 */
.color-structure>.fa3d-home-media{overflow:hidden;border-radius:16px}
@media(max-width:700px){.color-structure>.fa3d-home-media{border-radius:14px}}

/* 视频及嵌入框为 5:3，水平居中于原图片位置，桌面垂直居中于板块。 */
@media(min-width:1101px){
  .color-structure>:is(video.fa3d-home-media,.fa3d-home-media--embed){
    top:50%;left:calc(50% - 481px);right:auto;
    width:500px;height:300px;aspect-ratio:5/3;max-width:none;
    transform:translateY(-50%);object-fit:cover;
  }
  .color-structure:is(.color-structure--uv2,.color-structure--uv4)>:is(video.fa3d-home-media,.fa3d-home-media--embed){left:auto;right:max(calc(50% - 540px),82px)}
}
@media(min-width:701px) and (max-width:1100px){
  .color-structure>:is(video.fa3d-home-media,.fa3d-home-media--embed){
    top:50%;left:4%;right:auto;
    width:44%;height:auto;aspect-ratio:5/3;transform:translateY(-50%);object-fit:cover;
  }
  .color-structure:is(.color-structure--uv2,.color-structure--uv4)>:is(video.fa3d-home-media,.fa3d-home-media--embed){left:auto;right:4%}
}
@media(max-width:700px){
  .color-structure>:is(video.fa3d-home-media,.fa3d-home-media--embed){
    position:relative;top:auto;right:auto;left:auto;align-self:center;
    width:100%;height:auto;aspect-ratio:5/3;margin:24px 0 0;
    transform:none;object-fit:cover;
  }
}

/* 新增 UV 1–4 的图片与视频使用同一个 5:3 显示框；原结构板块图片维持原尺寸。 */
@media(min-width:1101px){
  .color-structure:is(.color-structure--uv1,.color-structure--uv2,.color-structure--uv3,.color-structure--uv4)>img.fa3d-home-media{
    top:50%;left:calc(50% - 481px);right:auto;
    width:500px;height:300px;aspect-ratio:5/3;max-width:none;
    transform:translateY(-50%);object-fit:cover;
  }
  .color-structure:is(.color-structure--uv2,.color-structure--uv4)>img.fa3d-home-media{
    left:auto;right:max(calc(50% - 540px),82px);
  }
}
@media(min-width:701px) and (max-width:1100px){
  .color-structure:is(.color-structure--uv1,.color-structure--uv2,.color-structure--uv3,.color-structure--uv4)>img.fa3d-home-media{
    top:50%;left:4%;right:auto;width:44%;height:auto;
    aspect-ratio:5/3;transform:translateY(-50%);object-fit:cover;
  }
  .color-structure:is(.color-structure--uv2,.color-structure--uv4)>img.fa3d-home-media{
    left:auto;right:4%;
  }
}
@media(max-width:700px){
  .color-structure:is(.color-structure--uv1,.color-structure--uv2,.color-structure--uv3,.color-structure--uv4)>img.fa3d-home-media{
    position:relative;top:auto;right:auto;left:auto;align-self:center;
    width:100%;height:auto;aspect-ratio:5/3;margin:24px 0 0;
    transform:none;object-fit:cover;
  }
}
