.fm-communication { margin: 32px 0; min-width: 0; }
.fm-communication__stage { position: relative; }
.fm-prose .fm-communication__slide { margin: 0 0 12px; }
.fm-communication [hidden] { display: none !important; }
.fm-prose .fm-communication__slide img { display: block; width: 100%; height: auto; border: 1px solid var(--rule, #d6d3cb); background: #eae7e0; }
.fm-prose .fm-communication__slide figcaption { display: flex; flex-wrap: wrap; gap: 6px 16px; justify-content: space-between; font-size: 12px; }
.fm-communication__arrow { position: absolute; top: calc((100% - 36px) / 2); transform: translateY(-50%); width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 1px solid var(--rule, #d6d3cb); border-radius: 50%; background: #fff; color: #191813; font-size: 30px; line-height: 1; cursor: pointer; }
.fm-communication__arrow--prev { left: 10px; }
.fm-communication__arrow--next { right: 10px; }
.fm-communication__pages { display: flex; align-items: center; justify-content: center; gap: 12px; }
.fm-communication__pages button { width: 44px; height: 44px; border: 1px solid var(--rule, #d6d3cb); background: transparent; color: #191813; cursor: pointer; font: inherit; }
.fm-communication__pages button[aria-pressed="true"] { background: #191813; color: #fff; }
.fm-communication__status { font-size: 12px; color: #625f56; }
.fm-communication button:focus-visible { outline: 2px solid var(--signal, #d6392b); outline-offset: 3px; }
.fm-communication button:hover { border-color: #625f56; }
.fm-communication.is-ready .fm-communication__stage { touch-action: pan-y pinch-zoom; }
