/* Client Portal tour: click-to-play YouTube embed. The player loads only after a click. */
.pv-wrap { max-width: 960px; margin: 0 auto; }
/* No lone last word in the band headings. */
#portal-tour .section-head h2 { text-wrap: balance; }
.pv-frame {
  position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0;
  border: 1px solid var(--border); border-radius: var(--radius-card); overflow: hidden;
  background: #0b1626; box-shadow: 0 24px 60px rgba(0,0,0,.28);
}
.pv-btn { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: pointer; }
.pv-frame img, .pv-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pv-frame img { object-fit: cover; transition: transform .4s ease, filter .4s ease; }
.pv-btn:hover img, .pv-btn:focus-visible img { transform: scale(1.015); filter: brightness(.9); }
.pv-btn:focus-visible { outline: 3px solid var(--accent); outline-offset: -3px; }
.pv-play {
  position: absolute; left: 50%; top: 50%; width: 84px; height: 84px; margin: -42px 0 0 -42px;
  border-radius: 50%; background: var(--accent); color: var(--accent-on);
  display: grid; place-items: center; box-shadow: 0 12px 36px rgba(62,207,142,.45);
  transition: transform .2s ease;
}
.pv-btn:hover .pv-play, .pv-btn:focus-visible .pv-play { transform: scale(1.08); }
/* The triangle's own box already sits right of center; no extra nudge (optical center = between box and centroid). */
.pv-play svg { width: 34px; height: 34px; }
.pv-time {
  position: absolute; right: 14px; bottom: 14px; padding: 4px 10px; border-radius: var(--radius-pill);
  background: rgba(0,0,0,.72); color: #fff; font: 600 13px/1.4 var(--font-mono);
}
.pv-note { margin-top: var(--space-4); text-align: center; font-size: 14px; color: var(--text-muted); }
.pv-note a { color: var(--accent-link); }
@media (max-width: 640px) {
  .pv-play { width: 64px; height: 64px; margin: -32px 0 0 -32px; }
  .pv-play svg { width: 26px; height: 26px; }
}
