.ps1-banner-video { position:relative; overflow:hidden; }
.ps1-banner-video .pagetit.h-m { position:relative; z-index:1; margin-bottom:0; pointer-events:none; }
.ps1-banner-video .ps1-banner-film { position:absolute; top:0; right:0; width:auto; max-width:80%; aspect-ratio:16/9; height:150%; object-fit:contain; object-position:right top; mask-image:linear-gradient(to right,transparent,#000 16%); }
.ps1-banner-video.ps1-banner-active { background:var(--ps1-banner-color); }
.ps1-banner-video.ps1-banner-active .pagetit.h-m { background-image:none; }
.ps1-banner-video.ps1-banner-fit-wide .ps1-banner-film { width:100%; max-width:none; height:100%; object-fit:cover; object-position:center 40%; mask-image:none; }
.ps1-banner-video.ps1-banner-pethotel .ps1-banner-film { top:4%; aspect-ratio:auto; width:auto; max-width:88%; height:92%; object-fit:contain; object-position:right center; mask-image:linear-gradient(to right,transparent,#000 16%); }
.ps1-banner-toggle { position:absolute; bottom:12px; right:14px; z-index:2; padding:6px 10px; border:1px solid white; border-radius:18px; background:rgba(0,0,0,.65); color:white; font:inherit; font-size:12px; cursor:pointer; }
.ps1-banner-toggle:focus-visible { outline:3px solid #f58216; outline-offset:2px; }
@media(max-width:767px) { .ps1-banner-toggle { bottom:6px; right:8px; padding:5px 8px; font-size:11px; } }
@media(max-width:767px) { .ps1-banner-cm .ps1-banner-film { max-width:60%; } .cont_cm iframe { max-width:100%; height:auto; aspect-ratio:16/9; } }
@media(prefers-reduced-motion:reduce) { .ps1-banner-video:not(.ps1-banner-user-play) .ps1-banner-film { display:none; } }
