/* Homepage film section (hv) */
.hv{background:var(--paper);padding:84px 0 64px;text-align:center}
.hv-head{max-width:860px;margin:0 auto}
.hv h2{margin:14px auto 0;max-width:860px;font-size:clamp(32px,4.2vw,56px);line-height:1.06;letter-spacing:-.04em;font-weight:800}
.hv-lead{margin:18px auto 0;max-width:640px;font-size:18px;line-height:1.55;color:var(--ink-2)}
.hv-frame{position:relative;max-width:1040px;margin:40px auto 0;aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:#05070C;
  box-shadow:0 40px 80px -40px rgba(14,35,110,.55),0 0 0 1px rgba(255,255,255,.7),0 0 0 7px rgba(110,146,223,.12)}
.hv-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#05070C;display:block}
.hv-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;border:0;padding:0;cursor:pointer;
  background:radial-gradient(ellipse at center,rgba(5,7,12,.08) 0,rgba(5,7,12,.38) 100%);font-family:inherit}
.hv-btn{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding-left:5px;box-sizing:border-box;
  background:linear-gradient(145deg,#6E92DF 0%,#3E66C0 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -10px 22px rgba(18,40,120,.35),0 18px 40px -12px rgba(10,30,100,.7),0 0 0 10px rgba(255,255,255,.16);
  transition:transform .2s ease,box-shadow .2s ease}
.hv-play:hover .hv-btn,.hv-play:focus-visible .hv-btn{transform:scale(1.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -10px 22px rgba(18,40,120,.35),0 22px 46px -12px rgba(10,30,100,.75),0 0 0 14px rgba(255,255,255,.2)}
.hv-pill{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.88);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);font-weight:700;font-size:15px;box-shadow:0 8px 24px -10px rgba(0,0,0,.45)}
.hv-pill em{font-style:normal;font-weight:600;color:#3E66C0}
.hv-frame.on .hv-play{display:none}
.hv-end{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;
  background:linear-gradient(160deg,rgba(62,102,192,.86),rgba(20,40,110,.9));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff}
.hv-end[hidden]{display:none}
.hv-end-in{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:620px}
.hv-end-in b{font-size:clamp(22px,2.6vw,34px);letter-spacing:-.03em;line-height:1.15}
.hv-end-in>span{font-size:15px;color:rgba(255,255,255,.9)}
.hv-end-cta{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:14px}
.hv-white{background:#fff;color:#1E3F9A;box-shadow:0 14px 30px -14px rgba(0,0,0,.5)}
.hv-white:hover{background:#F1F5FF;color:#1E3F9A}
.hv-ghost{min-height:48px;padding:0 20px;border-radius:999px;border:1px solid rgba(255,255,255,.6);background:rgba(255,255,255,.12);color:#fff;font-family:inherit;font-size:15px;font-weight:700;line-height:1;cursor:pointer}
.hv-ghost:hover{background:rgba(255,255,255,.22)}
.hv-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 26px;margin-top:34px}
.hv-link{display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:10px 4px;font-family:inherit;font-size:15px;font-weight:700;line-height:1.2;color:#1E3F9A;cursor:pointer}
.hv-link svg{color:#3E66C0}
.hv-link:hover{text-decoration:underline;text-underline-offset:4px}
.hv-note{margin-top:12px;font-size:14px;color:var(--ink-3)}
@media (max-width:760px){
  .hv{padding:56px 0 44px}
  .hv-lead{font-size:16px}
  .hv-frame{margin-top:26px;border-radius:16px;box-shadow:0 26px 50px -30px rgba(14,35,110,.55),0 0 0 1px rgba(255,255,255,.7)}
  .hv-btn{width:68px;height:68px}
  .hv-btn svg{width:24px;height:24px}
  .hv-pill{display:none}
  .hv-play{gap:10px}
  .hv-end{padding:12px}
  .hv-end-in{gap:4px}
  .hv-end-in>span{display:none}
  .hv-end-cta{margin-top:8px;gap:6px}
  .hv-end-cta .btn,.hv-end-cta .hv-ghost{min-height:38px;font-size:13px;padding:0 14px}
  .hv-cta{flex-direction:column;gap:6px;margin-top:24px}
  .hv-cta .btn{width:100%;max-width:420px}
}
/* 中文 subtitles layer: sits in the film's bottom black band (12.2% of the frame) */
.hv-frame{container-type:inline-size}
.hv-sub{position:absolute;left:0;right:0;bottom:0;height:12.2%;display:flex;align-items:center;justify-content:center;padding:0 5%;box-sizing:border-box;pointer-events:none;z-index:2;
  color:#fff;font-family:'Noto Sans SC','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;font-weight:700;line-height:1.25;text-align:center;letter-spacing:.02em;
  font-size:2.4vw;font-size:clamp(11px,2.6cqw,28px);text-shadow:0 1px 3px rgba(0,0,0,.65)}
.hv-sub:empty{display:none}
.hv-frame:not(.on) .hv-sub{display:none}
.hv-frame video::cue{font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif;background:rgba(0,0,0,.55);color:#fff}
html[lang^="zh"] .hv h2{letter-spacing:0;line-height:1.2}
html[lang^="zh"] .hv h2 .blue{display:inline-block}
html[lang^="zh"] .hv-lead{letter-spacing:.01em}
