/* Approved Quiet frame. Scoped to the video dialog; the landing section is unchanged. */
.pv-player { --page: #fbfdfc; --ink: #143e38; --muted: #4d6961; --accent: #236e5f; --mist: #eaf4ef; }
.pv-player, .pv-player *, .pv-player *::before, .pv-player *::after { box-sizing: border-box; }
.pv-player :is(button, input, select) { font-family: inherit; -webkit-tap-highlight-color: transparent; }
.pv-player :is(button, select) { cursor: pointer; }
.pv-player button { color: inherit; }
.pv-player svg { display: block; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.pv-player [hidden] { display: none !important; }
.pv-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.pv-player :is(a, button, select, input):focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
body.site-with-contact-bar:has(.pv-player[open]) #agency-site { overflow-y: hidden; }
body:has(.pv-player[open]) .site-overlay-scrollbar { visibility: hidden; pointer-events: none; }
.pv-player { --ev-controls-ready: 1; --caption-space: 0px; color: var(--ink); font-family: Outfit, sans-serif; width: min(1120px, calc(100vw - 48px), calc((100dvh - 140px - var(--caption-space)) * 16 / 9)); max-width: none; max-height: calc(100dvh - 32px); margin: auto; padding: 0; border: 0; border-radius: 24px; overflow: hidden; background: var(--page); box-shadow: 0 32px 100px #092b263b, 0 2px 4px #092b260d; }
.pv-player::backdrop { background: #123c32ad; backdrop-filter: blur(16px); }
html:has(.pv-player[open]) { overflow: hidden; overflow: clip; }
.pv-picture { position: relative; width: 100%; aspect-ratio: 16/9; min-height: 0; background: #f4f9f5; }
.pv-picture video { display: block; width: 100%; height: 100%; object-fit: contain; }
.pv-player[data-enhanced] video::-webkit-media-controls,
.pv-player[data-enhanced] video::-webkit-media-controls-panel,
.pv-player[data-enhanced] video::-webkit-media-controls-start-playback-button { display: none !important; -webkit-appearance: none; }
.pv-surface { display: none; position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: transparent; font-size: 0; color: transparent; padding: 0; touch-action: manipulation; }
[data-enhanced] .pv-surface { display: block; }
.pv-surface:focus-visible { outline: 2px solid #236e5f; outline-offset: -5px; border-radius: 20px; }
.pv-close { position: absolute; right: 16px; top: 16px; z-index: 6; background: #edf4efd9 !important; backdrop-filter: blur(16px); width: 38px !important; height: 38px !important; min-height: 38px !important; border-radius: 50% !important; transition: background 180ms, transform 180ms; }
.pv-close svg { width: 19px; height: 19px; }
.pv-close:hover { background: #dceae1 !important; transform: rotate(5deg); }
.pv-icon { display: inline-grid; place-items: center; width: 40px; height: 40px; min-height: 40px; border: 0; border-radius: 10px; padding: 0; background: transparent; color: inherit; flex-shrink: 0; transition: background 180ms, opacity 180ms; }
.pv-icon:hover { background: #eaf1ec; }
.pv-icon:active { transform: scale(.96); }
.pv-icon svg { width: 20px; height: 20px; }
.pv-mute, .pv-fullscreen { position: relative; font-size: 0; line-height: 0; }
.pv-mute::before, .pv-fullscreen::before { content: ''; position: absolute; inset: 0; margin: auto; display: block; width: 20px; height: 20px; background: currentColor; mask: var(--icon) center / contain no-repeat; -webkit-mask: var(--icon) center / contain no-repeat; }
.pv-mute { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m11 5-5 4H3v6h3l5 4V5Z'/%3E%3Cpath d='M15 8a6 6 0 0 1 0 8m3-11a10 10 0 0 1 0 14'/%3E%3C/svg%3E"); }
.pv-mute[aria-label='Unmute video'] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m11 5-5 4H3v6h3l5 4V5Z'/%3E%3Cpath d='m16 9 5 6m0-6-5 6'/%3E%3C/svg%3E"); }
.pv-fullscreen { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4H4v4m12-4h4v4M4 16v4h4m12-4v4h-4'/%3E%3C/svg%3E"); }
.pv-player:fullscreen .pv-fullscreen { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h4V4m8 0v4h4M8 20v-4H4m16 0h-4v4'/%3E%3C/svg%3E"); }
.pv-toolbar { position: relative; z-index: 2; display: flex; align-items: center; gap: 24px; padding: 12px 20px 14px 26px; min-height: 70px; background: var(--page); transition: opacity 220ms, transform 220ms; }
.pv-time { font-size: 12px; font-variant-numeric: tabular-nums; color: var(--muted); white-space: nowrap; letter-spacing: .01em; }
.pv-seek { flex: 1; display: flex; align-items: center; min-width: 0; min-height: 40px; }
.pv-actions { display: flex; gap: 4px; align-items: center; }
.pv-player input[type='range'] { --progress: 0%; appearance: none; -webkit-appearance: none; margin: 0; height: 32px; min-width: 0; width: 100%; background: transparent; cursor: pointer; accent-color: var(--accent); }
.pv-player input[type='range']::-webkit-slider-runnable-track { height: 3px; background: linear-gradient(to right, var(--accent) var(--progress), #d9e4dc var(--progress)); border-radius: 4px; }
.pv-player input[type='range']::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; height: 10px; width: 10px; margin-top: -3.5px; border: 0; background: var(--accent); border-radius: 50%; }
.pv-player input[type='range']::-moz-range-track { height: 3px; background: linear-gradient(to right, var(--accent) var(--progress), #d9e4dc var(--progress)); border-radius: 4px; }
.pv-player input[type='range']::-moz-range-thumb { height: 10px; width: 10px; background: var(--accent); border: 0; border-radius: 50%; }
.pv-seek input::-webkit-slider-thumb { opacity: 0; transition: opacity 150ms; }
.pv-seek:hover input::-webkit-slider-thumb, .pv-seek input:focus-visible::-webkit-slider-thumb { opacity: 1; }
.pv-seek input::-moz-range-thumb { opacity: 0; }
.pv-seek:hover input::-moz-range-thumb, .pv-seek input:focus-visible::-moz-range-thumb { opacity: 1; }
.pv-feedback { position: absolute; z-index: 1; left: 50%; top: 50%; display: grid; place-items: center; width: 66px; height: 66px; margin: -33px; border-radius: 50%; color: #fbfdfc; background: #153e36bb; backdrop-filter: blur(12px); pointer-events: none; opacity: 0; transform: scale(.92); transition: opacity 140ms, transform 200ms; }
.pv-feedback.is-visible { opacity: 1; transform: scale(1); }
.pv-feedback svg { grid-area: 1/1; width: 25px; height: 25px; }
.pv-feedback [data-feedback-play] { fill: currentColor; stroke: none; margin-left: 0; transform: translateX(-1px); }
.pv-feedback [data-feedback-pause] { stroke-width: 3.2; }
.pv-feedback[data-state='pause'] [data-feedback-play], .pv-feedback:not([data-state='pause']) [data-feedback-pause] { display: none; }
.pv-settings { position: absolute; z-index: 5; right: 62px; bottom: 77px; width: 264px; max-width: calc(100% - 24px); padding: 12px 18px 10px; border-radius: 16px; background: #fbfdfcf5; border: 1px solid #dce7df; box-shadow: 0 10px 38px #12372e25, 0 2px 5px #12372e0a; backdrop-filter: blur(22px); }
.pv-settings h3 { font-size: 11px; font-weight: 450; letter-spacing: .01em; margin: 2px 0 7px; color: #668071; }
.pv-setting-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 40px; font-size: 13px; }
.pv-setting-row + .pv-setting-row { border-top: 1px solid #e6eee8; }
.pv-setting-row > span { white-space: nowrap; }
.pv-setting-row select { max-width: 120px; min-height: 34px; border: 0; border-radius: 6px; background: transparent; color: var(--accent); padding: 4px 0 4px 5px; font-size: 12px; text-align: right; }
.pv-setting-row select:disabled { opacity: .5; cursor: default; }
.pv-setting-row [data-volume] { width: 108px; --progress: 100%; }
.pv-caption-toggle { position: relative; width: 32px; height: 19px; padding: 0; border: 0; border-radius: 20px; background: #cfddd3; font-size: 0; }
.pv-caption-toggle::before { content: ''; position: absolute; top: 3px; left: 3px; width: 13px; height: 13px; background: #fff; border-radius: 50%; box-shadow: 0 1px 2px #143e3820; transition: transform 160ms; }
.pv-caption-toggle[aria-pressed='true'] { background: var(--accent); }
.pv-caption-toggle[aria-pressed='true']::before { transform: translateX(13px); }
.pv-settings-toggle[aria-expanded='true'] { background: #e2ece5; }
.pv-caption { min-height: 52px; padding: 12px 22px; color: var(--ink); background: var(--mist); font-size: clamp(11px, 1.5vw, 15px); line-height: 1.35; text-align: center; white-space: pre-line; }
.pv-player:has([data-caption-text]:not([hidden])) { --caption-space: 76px; }
.pv-notices { position: absolute; z-index: 3; top: 16px; left: 18px; max-width: calc(100% - 90px); pointer-events: none; }
.pv-status { color: var(--ink); background: #fbfdfcf0; font-size: 12px; line-height: 1.4; margin: 0; border-radius: 8px; padding: 8px 12px; }
.pv-status:not([data-notice='true']) { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; padding: 0; }
.pv-notices a { display: inline-block; pointer-events: auto; background: var(--page); padding: 8px 12px; font-size: 12px; color: var(--accent); border-radius: 6px; }

.pv-player:fullscreen { width: 100%; height: 100dvh; max-height: none; border-radius: 0; display: flex; flex-direction: column; justify-content: center; background: #0d241e; }
.pv-player:fullscreen .pv-picture { flex: 1 1 auto; aspect-ratio: auto; min-height: 0; background: #0d241e; }
.pv-player:fullscreen .pv-toolbar, .pv-player:fullscreen .pv-caption { flex-shrink: 0; }
.pv-player:fullscreen .pv-surface:focus-visible { border-radius: 0; }

@media (max-width: 620px) {
  .pv-player { width: min(calc(100vw - 24px), calc((100dvh - 140px - var(--caption-space)) * 16 / 9)); border-radius: 17px; }
  .pv-toolbar { padding: 8px 8px 10px 14px; gap: 12px; min-height: 62px; }
  .pv-time { font-size: 10px; letter-spacing: 0; }
  .pv-icon { width: 36px; height: 40px; }
  .pv-actions { gap: 0; }
  .pv-icon svg, .pv-icon::before { width: 18px; height: 18px; }
  .pv-close { top: 10px; right: 10px; width: 32px !important; height: 32px !important; min-height: 32px !important; }
  .pv-feedback { width: 54px; height: 54px; margin: -27px; }
  .pv-settings { right: 12px; bottom: 64px; padding: 10px 14px; width: 238px; }
  .pv-settings h3 { margin-bottom: 4px; }
  .pv-setting-row { min-height: 34px; font-size: 12px; }
  .pv-player:has([data-settings-panel]:not([hidden])) { min-height: min(calc(280px + var(--caption-space)), calc(100dvh - 32px)); }
  .pv-player:has([data-settings-panel]:not([hidden])) .pv-picture { min-height: 210px; }
  .pv-player:has([data-settings-panel]:not([hidden])) .pv-settings { top: 10px; bottom: auto; max-height: calc(100% - 72px); }
  .pv-notices { left: 10px; top: 10px; }
  .pv-status { font-size: 10px; }
  .pv-caption { padding: 9px 12px; }
}
@media (max-height: 480px) {
  .pv-player { width: min(calc(100vw - 32px), calc((100dvh - 110px - var(--caption-space)) * 16 / 9)); border-radius: 16px; }
  .pv-player:has([data-settings-panel]:not([hidden])) { min-height: min(270px, calc(100dvh - 32px)); }
  .pv-player:has([data-settings-panel]:not([hidden])) { --caption-space: 0px; }
  .pv-player:has([data-settings-panel]:not([hidden])) [data-caption-text] { display: none; }
  .pv-player:has([data-settings-panel]:not([hidden])) .pv-picture { min-height: 200px; }
  .pv-player .pv-settings { top: 8px; bottom: auto; right: 12px; padding-block: 8px; }
  .pv-setting-row { min-height: 32px; }
  .pv-settings h3 { margin-bottom: 3px; }
}
@media (prefers-reduced-motion: reduce) {
  .pv-player *, .pv-player *::before, .pv-player *::after { transition: none !important; animation: none !important; }
}
