/* The selected cinema layout inherits the site's type, palette and container sizing. */
#agency-site .ev-section { position: relative; isolation: isolate; }
#agency-site .ev-headline { color: var(--taste-ink); font-size: clamp(32px, 4.2cqi, 58px); font-weight: 600; letter-spacing: -.047em; line-height: 1.11; text-wrap: balance; }
#agency-site .ev-subline { color: var(--taste-muted); font-size: clamp(13px, 1.22cqi, 17px); font-weight: 400; line-height: 1.5; letter-spacing: -.01em; }
#agency-site .ev-film { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; color: var(--taste-ink); text-decoration: none; background: #d9eee4; border-radius: 24px; }
#agency-site .ev-poster { display: block; width: 100%; height: 100%; object-fit: cover; filter: blur(2.4px); transform: scale(1.035); transition: transform 600ms cubic-bezier(.2,.65,.2,1); }
#agency-site .ev-film-shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 48%, #143e3820 100%); pointer-events: none; }
#agency-site .ev-play { display: inline-flex; align-items: center; gap: 20px; padding: 15px 36px 15px 15px; background: var(--contact-apricot); border: 1px solid #ffc99f; border-radius: 100px; box-shadow: 0 14px 44px #6b2a0030; transition: transform 220ms, background 220ms, box-shadow 220ms; }
#agency-site .ev-film .ev-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); white-space: nowrap; }
#agency-site .ev-play-disc { display: grid; place-items: center; flex: 0 0 auto; width: 82px; height: 82px; border-radius: 50%; background: var(--contact-burnt-orange); color: #fbfdfc; }
#agency-site .ev-play-disc svg { width: 36px; height: 36px; fill: currentColor; transform: translateX(-2px); }
#agency-site .ev-play-label { display: block; font-size: 36px; font-weight: 550; line-height: 1.1; letter-spacing: -.035em; color: var(--contact-burnt-orange); }
#agency-site .ev-play-label > span { display: block; margin-top: 6px; font-size: 14px; font-weight: 400; line-height: 1.2; letter-spacing: .015em; color: var(--contact-burnt-orange); }
#agency-site .ev-film:hover .ev-poster { transform: scale(1.055); }
#agency-site .ev-film:hover .ev-play { background: #ffbc8d; box-shadow: 0 18px 48px #6b2a003a; }
#agency-site .ev-film:active .ev-play { transform: translate(-50%, -50%) scale(.97); }
#agency-site .ev-film:focus-visible { outline: 3px solid var(--taste-accent); outline-offset: 6px; }

/* The approved sea-glass window and headline layout. */
#agency-site .ev-cinema { padding: clamp(36px, 5cqi, 68px) clamp(20px, 5cqi, 70px) clamp(24px, 3.4cqi, 48px); }
#agency-site .ev-cinema .ev-copy { max-width: 1050px; margin: 0 auto; text-align: center; }
#agency-site .ev-cinema .ev-subline { margin-top: 22px; }
#agency-site .ev-cinema-film { max-width: 920px; margin: clamp(30px, 3.6cqi, 50px) auto 0; box-shadow: 0 18px 55px #143e3812, 0 0 0 6px #ffffff70; }
#agency-site .ev-film-corner { position: absolute; left: 24px; bottom: 20px; color: #143e38b8; font-size: 12px; letter-spacing: -.015em; }

.ev-player { --ev-page: #fbfdfc; --ev-ink: #143e38; --ev-muted: #4d6961; --ev-mist: #eaf4ef; box-sizing: border-box; font-family: 'Outfit', sans-serif; width: min(1120px, calc(100vw - 40px)); max-height: calc(100dvh - 40px); padding: 0; border: 0; border-radius: 22px; color: var(--ev-ink); background: var(--ev-page); box-shadow: 0 30px 100px #071d2860; overflow: auto; }
.ev-player::backdrop { background: #092b26cc; backdrop-filter: blur(10px); }
.ev-player-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 20px; }
.ev-player-header h2 { font-size: 19px; letter-spacing: -.03em; font-weight: 500; margin: 0; }
.ev-player-header button { font: inherit; color: inherit; cursor: pointer; display: flex; align-items: center; gap: 12px; min-height: 44px; border: 0; background: var(--ev-mist); border-radius: 50px; padding: 7px 18px; font-size: 14px; }
.ev-player-header button span { font-size: 24px; line-height: 1; }
.ev-player video { display: block; width: 100%; max-height: calc(100dvh - 190px); aspect-ratio: 16 / 9; background: #102e29; }
.ev-player-status { margin: 0; padding: 13px 20px 16px; color: var(--ev-muted); font-size: 12px; line-height: 1.5; }
.ev-player :is(button, video):focus-visible { outline: 3px solid #236e5f; outline-offset: 3px; }
html:has(.ev-player[open]) { overflow: hidden; }
body.site-with-contact-bar:has(.ev-player[open]) #agency-site { overflow-y: hidden; }
body:has(.ev-player[open]) .site-overlay-scrollbar { visibility: hidden; pointer-events: none; }

@container (max-width: 680px) {
  #agency-site .ev-section { border-radius: 30px; }
  #agency-site .ev-headline { font-size: clamp(30px, 6.8cqi, 43px); }
  #agency-site .ev-cinema { padding: 36px 20px 22px; }
  #agency-site .ev-cinema .ev-subline { margin-top: 20px; max-width: 250px; margin-inline: auto; }
  #agency-site .ev-cinema-film { margin-top: 28px; border-radius: 18px; box-shadow: 0 12px 30px #143e3810, 0 0 0 4px #ffffff70; }
  #agency-site .ev-poster { filter: blur(1.2px); }
  #agency-site .ev-play { gap: 12px; padding: 9px 22px 9px 9px; }
  #agency-site .ev-play-disc { width: 48px; height: 48px; }
  #agency-site .ev-play-disc svg { width: 24px; height: 24px; transform: translateX(-1px); }
  #agency-site .ev-play-label { font-size: 25px; }
  #agency-site .ev-play-label > span { margin-top: 4px; font-size: 11px; }
  #agency-site .ev-film-corner { display: none; }
}
@media (max-width: 680px) {
  .ev-player { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); border-radius: 16px; }
  .ev-player-header { padding: 10px 12px; gap: 10px; }
  .ev-player-header h2 { font-size: 17px; }
  .ev-player-header button { padding-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  #agency-site .ev-poster, #agency-site .ev-play { transition: none; }
  #agency-site .ev-film:hover .ev-poster { transform: scale(1.035); }
}

/* Enhanced controls live in their own row, never over the video frame. */
.ev-player [hidden] { display: none !important; }
.ev-player { --ev-controls-ready: 1; }
.ev-player[data-enhanced] video { max-height: calc(100dvh - 245px); object-fit: contain; }
.ev-player[data-enhanced] video::-webkit-media-controls,
.ev-player[data-enhanced] video::-webkit-media-controls-panel,
.ev-player[data-enhanced] video::-webkit-media-controls-start-playback-button { display: none !important; -webkit-appearance: none; }
.ev-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 12px 16px 4px; font-size: 13px; }
.ev-controls :is(button, select) { box-sizing: border-box; min-height: 44px; font: inherit; color: var(--ev-ink); background: var(--ev-mist); border: 1px solid #cbded2; border-radius: 12px; cursor: pointer; }
.ev-controls button { padding: 8px 13px; white-space: nowrap; }
.ev-controls [data-toggle-play] { background: #ffb17a; border-color: #e9a46f; min-width: 65px; font-weight: 550; }
.ev-controls [aria-pressed="true"] { background: #236e5f; color: white; }
.ev-seek { flex: 1 1 140px; min-width: 110px; display: flex; align-items: center; min-height: 44px; }
.ev-controls input[type="range"] { display: block; width: 100%; min-height: 32px; margin: 0; accent-color: #236e5f; cursor: pointer; }
.ev-volume { display: flex; align-items: center; width: 70px; min-height: 44px; }
.ev-time { font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--ev-muted); font-size: 12px; }
.ev-quality { display: inline-flex; align-items: center; gap: 6px; }
.ev-quality select { padding: 5px 7px; max-width: 88px; }
.ev-controls :is(button, select, input):focus-visible,
.ev-player-footer a:focus-visible,
.ev-transcript summary:focus-visible { outline: 3px solid #236e5f; outline-offset: 3px; }
.ev-controls :disabled { opacity: .6; cursor: default; }
.ev-player-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 20px; padding: 8px 18px 14px; font-size: 12px; }
.ev-player-footer .ev-player-status { flex: 1 1 200px; padding: 0; }
.ev-player-footer a { color: #236e5f; text-underline-offset: 3px; min-height: 30px; display: inline-flex; align-items: center; }
.ev-caption { margin: 8px 16px 0; padding: 12px 16px; border-radius: 10px; background: #eaf4ef; color: #143e38; font-size: 17px; line-height: 1.4; text-align: center; white-space: pre-line; min-height: 24px; }
.ev-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
#agency-site .ev-transcript { max-width: 920px; margin: 18px auto 0; color: var(--taste-muted); font-size: 14px; line-height: 1.6; }
#agency-site .ev-transcript summary { cursor: pointer; width: fit-content; min-height: 44px; padding: 10px 0; }
#agency-site .ev-transcript p { margin: 0 0 12px; }
.ev-player:fullscreen { box-sizing: border-box; width: 100vw; max-width: none; height: 100dvh; max-height: none; border-radius: 0; display: flex; flex-direction: column; overflow: auto; }
.ev-player:fullscreen video { flex: 1 1 auto; min-height: 0; max-height: none; object-fit: contain; }
.ev-player:fullscreen :is(.ev-player-header, .ev-controls, .ev-player-footer, .ev-caption) { flex-shrink: 0; }
@media (max-width: 680px) {
  .ev-player[data-enhanced] video { max-height: calc(100dvh - 255px); }
  .ev-controls { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 6px; padding: 10px 12px 3px; font-size: 12px; }
  .ev-controls button { padding-inline: 9px; }
  .ev-controls [data-toggle-play] { min-width: 54px; }
  .ev-seek { grid-column: 2 / span 2; min-width: 0; }
  .ev-time { font-size: 11px; text-align: right; }
  .ev-volume { display: none; }
  .ev-quality { justify-content: center; gap: 3px; font-size: 11px; }
  .ev-quality select { max-width: 76px; padding-inline: 4px; }
  .ev-player-footer { padding-inline: 12px; gap: 2px 14px; }
  .ev-player-footer .ev-player-status { flex-basis: 100%; }
  .ev-caption { margin-inline: 12px; font-size: 15px; }
  .ev-player:fullscreen video { max-height: none; }
}

/* A compact media toolbar, with accessible labels instead of visible form chrome. */
.ev-player-header { justify-content: flex-end; min-height: 44px; padding: 5px 10px; box-sizing: border-box; }
.ev-player-header button { justify-content: center; width: 44px; min-height: 44px; padding: 0; background: transparent; }
.ev-player-header button span { font-size: 26px; }
.ev-controls { padding: 10px 16px 13px; gap: 10px; }
.ev-controls button { display: inline-grid; place-items: center; width: 40px; min-height: 40px; padding: 0; font-size: 0; appearance: none; border: 0; border-radius: 50%; background: transparent; }
.ev-controls button::before { content: ''; display: block; width: 19px; height: 19px; background: currentColor; -webkit-mask: var(--ev-icon) center / contain no-repeat; mask: var(--ev-icon) center / contain no-repeat; }
.ev-controls button:hover { background-color: #e8f0eb; }
.ev-controls [data-toggle-play] { min-width: 44px; width: 44px; height: 44px; background: #ffb17a; }
.ev-controls [data-toggle-play] { --ev-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4v16l13-8z'/%3E%3C/svg%3E"); }
.ev-controls [data-toggle-play][aria-label="Pause video"] { --ev-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 4h4v16H6zm8 0h4v16h-4z'/%3E%3C/svg%3E"); }
.ev-controls [data-toggle-mute] { --ev-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9v6h4l5 4V5L7 9z'/%3E%3Cpath d='M16 8c3 2 3 6 0 8m3-11c5 4 5 10 0 14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ev-controls [data-toggle-mute][aria-label="Unmute video"] { --ev-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9v6h4l5 4V5L7 9z'/%3E%3Cpath d='m16 9 6 6m0-6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ev-controls [data-fullscreen] { --ev-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 3H3v5m13-5h5v5M3 16v5h5m13-5v5h-5' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ev-controls [data-toggle-captions]::before { content: 'CC'; width: 23px; height: 17px; line-height: 17px; font-size: 10px; font-weight: 650; letter-spacing: -.04em; border: 1.5px solid currentColor; border-radius: 3px; background: transparent; -webkit-mask: none; mask: none; }
.ev-controls [data-toggle-captions][aria-pressed="true"] { background: #236e5f; color: #fff; }
.ev-controls input[type="range"] { appearance: none; background: transparent; }
.ev-controls input[type="range"]::-webkit-slider-runnable-track { height: 4px; border-radius: 4px; background: #c9dad0; }
.ev-controls input[type="range"]::-webkit-slider-thumb { appearance: none; width: 13px; height: 13px; margin-top: -4.5px; border-radius: 50%; background: #236e5f; }
.ev-controls input[type="range"]::-moz-range-track { height: 4px; border-radius: 4px; background: #c9dad0; }
.ev-controls input[type="range"]::-moz-range-thumb { width: 13px; height: 13px; border: 0; border-radius: 50%; background: #236e5f; }
.ev-quality select { appearance: none; border: 0; min-height: 36px; border-radius: 8px; padding: 5px 25px 5px 10px; background-color: #edf3ef; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%23143e38' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-size: 10px 7px; background-position: right 8px center; }
.ev-player video:focus-visible { outline: none; }
.ev-player-footer { padding: 0 16px; }
.ev-player-footer .ev-player-status:not([data-notice="true"]) { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
.ev-player-footer:has([data-notice="true"]), .ev-player-footer:has([data-video-file]:not([hidden])) { padding-bottom: 12px; }
@media (max-width: 680px) {
  .ev-controls { grid-template-columns: 44px minmax(0, 1fr) auto auto; padding: 9px 12px 12px; gap: 4px 8px; }
  .ev-controls [data-toggle-play] { min-width: 44px; }
  .ev-controls button { width: 44px; min-height: 44px; }
  .ev-player[data-enhanced] video { max-height: calc(100dvh - 205px); }
  .ev-quality { justify-content: flex-start; }
  .ev-player-footer { padding-inline: 12px; }
}
.ev-player[data-enhanced]:fullscreen video { max-height: none; }
