/* A cinematic opening, within PLIVEW's existing visual identity. */
.hero--film{padding-top:0}
.hero-film{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:660px;height:calc(100svh - 122px);max-height:900px;margin:0 24px;overflow:hidden;background:#102f3d;color:#fff}
.hero-film-visual,.hero-film-poster,.hero-film-video,.hero-film-shade{position:absolute;inset:0;width:100%;height:100%}
.hero-film-poster img,.hero-film-video{width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.hero-film-video{opacity:0;transition:opacity .8s ease}
.hero-film.has-video-frame .hero-film-video{opacity:1}
.hero-film-shade{background:linear-gradient(0deg,rgba(5,25,36,.9),rgba(5,25,36,.35) 48%,rgba(5,25,36,.02) 83%),linear-gradient(90deg,rgba(6,30,40,.48),rgba(6,30,40,.06) 72%)}
.hero-film-topline{position:absolute;z-index:2;top:30px;left:40px;right:40px;display:flex;justify-content:space-between;gap:16px;font-size:12px;letter-spacing:.12em;line-height:1.4;text-shadow:0 1px 10px #183b4f}
.hero-film-topline>span{background:#102f3d70;padding:6px 10px;border-radius:2px}
.hero-film-topline>span:first-child{border-left:2px solid #89eee1;padding-left:12px}
.hero-film-content{position:relative;z-index:2;padding:140px clamp(32px,4.5vw,80px) 112px;width:100%}
.hero-film-eyebrow{font-size:16px;letter-spacing:.15em;margin-bottom:16px;color:#eefbf9}
.hero--film h1{font-size:clamp(56px,6.3vw,94px);line-height:1.22;letter-spacing:-.035em;color:#fff;font-weight:600;text-shadow:0 2px 35px rgba(0,25,35,.12)}
.hero-film-description{font-size:16px;line-height:1.9;margin-top:24px;color:#f0f7fa}
.hero-film-link{display:inline-flex;align-items:center;gap:24px;margin-top:25px;font-size:14px;font-weight:600}
.hero-film-link-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff70;border-radius:50%;transition:background .25s,transform .25s}
.hero-film-link-icon svg{height:20px;width:20px}
.hero-film-link:hover .hero-film-link-icon{background:#ffffff25;transform:translate(2px,-2px)}
.hero-film-footer{position:absolute;z-index:3;left:clamp(32px,4.5vw,80px);right:40px;bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.hero-film-signature{font-size:12px;letter-spacing:.13em;color:#d9e9ec}
.hero-film-controls{display:flex;gap:10px;flex-shrink:0}
.hero-film-controls[hidden],.hero-film-controls [hidden]{display:none!important}
.hero-film-control{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:9px 16px;border:1px solid #ffffff65;border-radius:30px;background:#0b263b55;color:#fff;font-size:14px;line-height:1.4;backdrop-filter:blur(8px);transition:background .2s,border-color .2s}
.hero-film-control>span:first-child,.hero-film-control>span:nth-child(2){display:grid;place-items:center}
.hero-film-control svg{height:17px;width:17px}
.hero-film-control:hover{background:#ffffff20;border-color:#fff}
.hero-film :focus-visible{outline-color:#b4fff1;outline-offset:5px}
.hero-film-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff20;z-index:3;overflow:hidden}
.hero-film-progress>span{display:block;width:100%;height:100%;background:#9ae9e0;transform:scaleX(0);transform-origin:left;transition:transform .3s linear}
.hero-film-status{position:absolute;overflow:hidden;width:1px;height:1px;clip-path:inset(50%);white-space:nowrap}
.hero--film .hero-bottom{font-size:14px;padding:24px 0 4px;gap:20px}
@media(min-width:801px) and (max-height:760px){.hero-film{min-height:570px}.hero-film-content{padding-top:110px;padding-bottom:90px}.hero--film h1{font-size:clamp(54px,5.5vw,78px)}.hero-film-description{margin-top:18px}.hero-film-link{margin-top:18px}}
@media(max-width:1100px){.hero-film{margin:0 16px}.hero-film-topline{left:32px;right:32px}.hero-film-footer{right:32px}.hero-film-signature{max-width:220px;font-size:12px}.hero-film-controls{gap:8px}}
@media(max-width:800px){
  .hero-film{display:block;min-height:0;height:auto;max-height:none;margin:0 12px;background:#102f3d}
  .hero-film-visual{position:relative;aspect-ratio:16/9;height:auto}
  .hero-film-poster img,.hero-film-video{object-fit:contain;object-position:center}
  .hero-film-shade{background:linear-gradient(0deg,#102f3d,rgba(16,47,61,.25) 13%,transparent 42%)}
  .hero-film-topline{top:17px;left:20px;right:20px;font-size:12px}
  .hero-film-content{padding:12px 28px 30px}
  .hero-film-eyebrow{font-size:14px;margin-bottom:14px}
  .hero--film h1{font-size:clamp(38px,7.4vw,62px);line-height:1.28}
  .hero-film-description{font-size:16px;margin-top:18px}
  .hero-film-link{margin-top:22px;gap:20px}
  .hero-film-footer{position:relative;left:auto;right:auto;bottom:auto;padding:0 28px 23px;align-items:center;flex-wrap:wrap;gap:18px}
  .hero-film-controls{margin-left:auto}
  .hero-film-signature{font-size:12px;max-width:none;letter-spacing:.05em}
  .hero-film-control{padding:10px 14px;min-height:44px}
  .hero--film .hero-bottom{padding-top:20px;align-items:flex-start;flex-wrap:wrap;font-size:14px;gap:10px}
  .hero--film .hero-bottom>div{flex-wrap:wrap;gap:8px 26px;font-size:12px}
  .hero--film .hero-bottom>div>span+span:before{left:-16px}
}
@media(max-width:420px){.hero-film-content{padding:10px 22px 26px}.hero--film h1{font-size:clamp(33px,9.6vw,40px)}.hero-film-footer{padding:0 22px 22px;gap:16px}.hero-film-signature{width:100%;font-size:12px}.hero-film-controls{margin-left:0}.hero-film-description{font-size:16px}.hero-film-topline{font-size:12px;letter-spacing:.04em}}
@media(prefers-reduced-motion:reduce){.hero-film-video,.hero-film-link-icon,.hero-film-progress>span{transition:none}}
