/* Only the introduction player/launcher and the remaining contact action. */
.home .hero-carousel .intro-video-open {
  top: auto;
  bottom: 28px;
  height: auto;
  min-height: 64px;
  max-width: calc(100% - 24px);
  z-index: 5;
  cursor: pointer;
  touch-action: manipulation;
}
.intro-video-open .video-play-circle { flex: 0 0 auto; }
.intro-video-open > span:last-child { min-width: 0; }
.intro-video-dialog {
  box-sizing: border-box;
  width: min(960px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  overflow-x: hidden;
  overscroll-behavior: contain;
}
.intro-video-dialog .intro-video-heading { gap: 12px; }
.intro-video-dialog .intro-video-heading h2 { min-width: 0; overflow-wrap: anywhere; line-height: 1.7; }
.intro-video-dialog [data-intro-video-close] { flex: 0 0 44px; width: 44px; height: 44px; cursor: pointer; }
.intro-video-dialog .intro-video-player { width: 100%; height: auto; aspect-ratio: 16 / 9; min-width: 0; overflow: hidden; }
.intro-video-dialog .intro-video-player > video,
.intro-video-dialog .intro-video-player > iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  border: 0;
}
.intro-video-status { padding: 12px 18px 0; margin: 0; font-size: 14px; line-height: 1.8; }
.intro-video-dialog .video-direct-link { min-height: 44px; font-size: 13px; line-height: 1.8; text-align: center; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .home .hero-carousel .intro-video-open { top: auto; bottom: 20px; min-height: 58px; padding: 8px 18px 8px 9px; gap: 12px; }
  .home .intro-video-open strong { font-size: 13px; }
  .home .intro-video-open small { font-size: 11px; }
  .home .intro-video-open .video-play-circle { width: 42px; height: 42px; }
  .intro-video-dialog { width: calc(100vw - 20px); max-width: calc(100vw - 20px); }
  .intro-video-dialog .intro-video-heading { padding: 12px; }
  .intro-video-dialog .intro-video-heading h2 { font-size: 14px; }
  .intro-video-dialog .video-direct-link { padding: 12px; }
  /* Keep the single gold contact link available beside the mobile navigation. */
  .psg-site .site-header .header-inner { flex-wrap: wrap; height: auto; min-height: 70px; row-gap: 6px; padding-block: 8px; }
  .psg-site .site-header .header-utilities { flex-wrap: wrap; }
  .psg-site .site-header .header-cta { display: inline-flex; min-height: 36px; padding: 6px 10px; font-size: 11px; gap: 5px; }
  .psg-site .site-header .header-cta > .icon { width: 14px; height: 14px; }
}
@media (max-width: 470px) {
  .psg-site .site-header .header-utilities { flex-basis: 100%; justify-content: flex-end; }
  .psg-site .site-header .header-utilities .header-cta { margin-inline-start: auto; }
}
