.cm-video__head { margin-bottom: var(--cm-space-5); }
.cm-video__frame {
  position: relative;
  width: 100%;
  max-width: 960px;
  margin-inline: auto;
  aspect-ratio: 16 / 9;
  border-radius: 5px;
  overflow: hidden;
  background: var(--cm-dark);
}
.cm-video--narrow .cm-video__frame { max-width: 760px; }
.cm-video--wide .cm-video__frame { max-width: 1140px; }
.cm-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
.cm-video__placeholder {
  display: grid; place-items: center; padding: var(--cm-space-4);
  background: var(--cm-light); color: var(--cm-text);
  border: 2px dashed var(--cm-border); text-align: center;
  font-family: var(--cm-font-body);
}
.cm-video__placeholder p { margin: 0; max-width: 40ch; }
@supports not (aspect-ratio: 16 / 9) {
  .cm-video__frame:not(.cm-video__placeholder) { height: 0; padding-top: 56.25%; }
}
