/* Homepage demo video lightbox + dictation loop. Tokens come from body.prism-home in prism-home.css. */
.vpv-open{overflow:hidden}
.vpv-dialog{width:min(1180px,calc(100% - 40px),calc((100dvh - 48px) * 16 / 9));max-width:none;max-height:none;padding:0;border:0;background:transparent;overflow:visible}
.vpv-dialog::backdrop{background:rgba(9,26,61,.78);backdrop-filter:blur(6px)}
.vpv-frame{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#091a3d;box-shadow:0 40px 100px rgba(0,0,0,.45)}
.vpv-video{display:block;width:100%;height:100%;object-fit:contain;background:#091a3d}
/* Sits exactly over the "7-day free trial" button in the video's end card (1920x1080 box 527,607 to 827,693, padded). */
.vpv-hotspot{position:absolute;left:27.2%;top:55.8%;width:16.2%;height:8.8%;border-radius:12px;cursor:pointer}
.vpv-hotspot:focus-visible{outline:3px solid #fff;outline-offset:3px}
.vpv-end{position:absolute;left:50%;bottom:16%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:12px;padding:10px;border-radius:14px;background:rgba(255,255,255,.82);box-shadow:0 14px 34px rgba(11,23,53,.16);backdrop-filter:blur(8px)}
.vpv-end[hidden],.vpv-hotspot[hidden]{display:none}
.vpv-end .vp-primary{width:auto;margin:0;gap:18px}
.vpv-replay{min-height:52px;padding:0 22px;border:1px solid var(--vp-line,#d8dfeb);border-radius:10px;background:#fff;color:#1844ba;font:inherit;font-size:14px;font-weight:650;cursor:pointer}
.vpv-replay:hover{background:rgba(23,72,232,.06)}
/* Inside the frame corner so it is always on screen, even in short landscape viewports. */
.vpv-close{position:absolute;top:12px;right:12px;z-index:3;width:38px;height:38px;border:0;border-radius:50%;background:rgba(9,26,61,.55);color:#fff;font-size:24px;line-height:1;cursor:pointer;backdrop-filter:blur(6px)}
.vpv-close:hover,.vpv-close:focus-visible{background:rgba(9,26,61,.8)}

.vp-dictation-loop{margin:44px 0 0;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;align-items:center}
.vp-dictation-loop video{display:block;width:100%;aspect-ratio:16/9;border-radius:16px;border:1px solid var(--vp-line,#d8dfeb);background:#edf3ff;box-shadow:0 30px 70px rgba(11,23,53,.12)}
.vp-dictation-loop figcaption strong{display:block;color:var(--vp-ink,#0b1735);font-size:clamp(24px,2.4vw,34px);font-weight:500;letter-spacing:-.03em;line-height:1.15}
.vp-dictation-loop figcaption span{display:block;margin-top:14px;color:var(--vp-muted,#68748b);font-size:14px;line-height:1.6}

@media (max-width:760px){
  .vpv-dialog{width:min(calc(100% - 24px),calc((100dvh - 24px) * 16 / 9))}
  .vpv-end{bottom:10%;gap:8px;padding:8px}
  .vpv-end .vp-primary,.vpv-replay{min-height:40px;padding:0 14px;font-size:12px}
  .vp-dictation-loop{grid-template-columns:1fr;gap:20px;margin-top:32px}
}
@media (prefers-reduced-motion:reduce){.vpv-dialog::backdrop{backdrop-filter:none}}
