/* Scope all animation styling to the existing, centered abstract figure. */
.abstract-animation-stage { position: relative; isolation: isolate; }
.abstract-animation-stage .abstract-animation-poster { display: block; opacity: 1; }
.abstract-animation-stage.is-animated .abstract-animation-poster { opacity: 0; }
.abstract-animation-canvas { position: absolute; inset: 0; display: block; pointer-events: none; }
.abstract-animation-canvas > canvas, .abstract-animation-canvas > img { display: block; width: 100%; height: 100%; overflow: hidden; }
.abstract-animation-controls {
  display: flex; align-items: center; justify-content: flex-end; gap: 17px;
  min-height: 25px; margin: 4px 0 -4px; color: #737c88;
}
.abstract-animation-controls button {
  appearance: none; border: 0; background: transparent; color: inherit;
  font: 500 11.5px/1.5 var(--sans, Arial, sans-serif); letter-spacing: 0;
  display: inline-flex; align-items: center; justify-content: center;
  gap: 5px; padding: 4px 0; cursor: pointer; border-radius: 3px;
}
.abstract-animation-controls button:hover { color: #273a67; }
.abstract-animation-controls button:focus-visible { outline: 2px solid #315ad7; outline-offset: 4px; }
.abstract-animation-controls svg { width: 12px; height: 12px; flex: none; }
.abstract-animation-controls .abstract-icon-play { display: none; }
.abstract-animation-controls [data-playing="false"] .abstract-icon-pause { display: none; }
.abstract-animation-controls [data-playing="false"] .abstract-icon-play { display: block; }
.abstract-animation-canvas[hidden], .abstract-animation-controls[hidden] { display: none; }
@media (max-width: 600px) {
  .abstract-animation-controls { min-height: 28px; gap: 20px; margin-top: 2px; }
  .abstract-animation-controls button { font-size: 12px; padding: 6px 2px; }
}

.abstract-animation-stage { aspect-ratio: 949 / 510; }
.abstract-animation-stage .abstract-animation-poster { width:100%; height:100%; object-fit:contain; }
/* v56: native video playback, permanently replaced by its final still on ending. */
.abstract-animation-canvas > video {
  display:block; width:100%; height:100%; object-fit:contain;
  background:#fff; pointer-events:none;
}
.abstract-animation-controls button:disabled {
  cursor:default; opacity:.65;
}
