/**
 * News content blocks — editorial typography + image layout/fit (public + admin preview)
 */

.news-blocks--public,
.news-blocks--preview {
  overflow-x: clip;
  overflow-y: visible;
  max-width: 100%;
  min-width: 0;
}

.news-blocks--public::after {
  content: '';
  display: table;
  clear: both;
}

.news-blocks--public {
  width: 100%;
  min-width: 0;
}

.news-blocks--public .news-blocks__p {
  max-width: 100%;
}

/*
 * Embedded img/video: block inherited opacity/filter/blend from global UI styles.
 * Keeps body images visually identical to source files (public article + admin preview).
 */
.news-blocks--public .news-blocks__media-wrap img.news-blocks__media,
.news-blocks--public .news-blocks__media-wrap video.news-blocks__media,
.news-blocks--preview .news-blocks__media-wrap img.news-blocks__media,
.news-blocks--preview .news-blocks__media-wrap video.news-blocks__media {
  opacity: 1;
  filter: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  mix-blend-mode: normal;
}

.news-blocks--public .news-blocks__media-open {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  cursor: zoom-in;
  line-height: 0;
}

.news-blocks--public .news-blocks__media-open:focus-visible {
  outline: 2px solid #072f7a;
  outline-offset: 2px;
}

.news-blocks--public .news-blocks__media-open .news-blocks__media {
  pointer-events: none;
}

/* --- Typography (public article — editorial rhythm) --- */

.news-blocks--public .news-blocks__p {
  margin: 0 0 1.2rem;
  font-size: 1.05rem;
  line-height: 1.72;
  color: #334155;
}

.news-blocks--public .news-blocks__h {
  margin: 1.65rem 0 0.75rem;
  padding-top: 0.06em;
  font-family: var(--font-heading);
  font-size: clamp(1.15rem, 2vw, 1.35rem);
  font-weight: 700;
  line-height: 1.28;
  color: #072f7a;
}

.news-blocks--public .news-blocks__h:first-child {
  margin-top: 0;
}

.news-blocks--public .news-blocks__figure {
  margin: 1.25rem 0;
}

.news-blocks--public .news-blocks__media-wrap {
  margin: 1.35rem 0;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

/*
 * Native <video> uses the file’s pixel width (often 1280–1920px) unless constrained.
 * Apply to every public/preview embed so mobile cannot overflow the article column.
 */
.news-blocks--public .news-blocks__media-wrap video.news-blocks__media,
.news-blocks--preview .news-blocks__media-wrap video.news-blocks__media,
.news-blocks--public figure.news-blocks__media-wrap > video,
.news-blocks--public figure.news-blocks__media-wrap > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  box-sizing: border-box;
  object-fit: contain;
  vertical-align: top;
}

.news-blocks--public .news-blocks__media-wrap .news-blocks__figure {
  margin: 0 0 0.85rem;
}

.news-blocks--public .news-blocks__media-wrap .news-blocks__figure:last-child {
  margin-bottom: 0;
}

/*
 * Floated images: bottom margin on the figure or float extends the float’s margin box downward.
 * Flowing text must wrap beside that entire box — so “phantom” space under the bitmap keeps
 * lines indented. Kill bottom margins on floats; spacing comes from paragraph margins instead.
 */
@media (min-width: 900px) {
  .news-blocks--public .news-blocks__media-wrap--layout-float_left .news-blocks__figure,
  .news-blocks--public .news-blocks__media-wrap--layout-float_right .news-blocks__figure,
  .news-blocks--preview .news-blocks__media-wrap--layout-float_left .news-blocks__figure,
  .news-blocks--preview .news-blocks__media-wrap--layout-float_right .news-blocks__figure {
    margin-bottom: 0;
  }
}

.news-blocks--public .news-blocks__image-desc {
  max-width: 100%;
}

.news-blocks--public .news-blocks__p--after-media {
  margin: 0 0 0.9rem;
  font-size: 1.05rem;
  line-height: 1.75;
  color: #334155;
}

.news-blocks--public .news-blocks__p--after-media:last-child {
  margin-bottom: 0;
}

.news-blocks--public .news-blocks__figure--captioned {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: 0;
}

.news-blocks--public .news-blocks__figure--captioned .news-blocks__media-frame {
  flex-shrink: 0;
}

.news-blocks--public .news-blocks__caption--legacy-image-desc {
  white-space: pre-line;
}

.news-blocks--public .news-blocks__caption {
  margin: 0.45rem 0 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.38;
  letter-spacing: 0.01em;
  color: #64748b;
  white-space: pre-wrap;
  word-break: break-word;
}

.news-blocks--public .news-blocks__caption .linkified-text {
  color: #64748b;
  margin-bottom: 0;
}

.news-blocks--public .news-blocks__caption--long {
  font-size: 0.76rem;
  line-height: 1.42;
  font-weight: 400;
  color: #64748b;
}

@media (max-width: 899px) {
  .news-blocks--public .news-blocks__caption--long {
    font-size: 0.78rem;
  }
}

.news-blocks--preview .news-blocks__p {
  margin: 0 0 0.75rem;
  font-size: 0.94rem;
  line-height: 1.65;
  color: #334155;
}

.news-blocks--preview .linkified-text {
  color: #334155;
  margin-bottom: 0;
  line-height: inherit;
  font-size: inherit;
}

.news-blocks--preview .news-blocks__h .linkified-text {
  color: #072f7a;
}

.news-blocks--preview .news-blocks__h {
  margin: 1rem 0 0.5rem;
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: 700;
  color: #072f7a;
}

.news-blocks--preview .news-blocks__figure {
  margin: 0.85rem 0;
}

.news-blocks--preview .news-blocks__media-wrap {
  margin: 0.85rem 0;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.news-blocks--preview .news-blocks__media-wrap .news-blocks__figure {
  margin: 0 0 0.5rem;
}

.news-blocks--preview .news-blocks__p--after-media {
  margin: 0 0 0.65rem;
  font-size: 0.94rem;
  line-height: 1.65;
  color: #334155;
}

.news-blocks--preview .news-blocks__figure--captioned {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: 0;
}

.news-blocks--preview .news-blocks__caption {
  margin: 0.35rem 0 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.38;
  color: #64748b;
  white-space: pre-wrap;
  word-break: break-word;
}

.news-blocks--preview .news-blocks__caption--long {
  font-size: 0.72rem;
  line-height: 1.42;
  font-weight: 400;
}

/* --- Media frame + fit (shared public + preview) --- */

.news-blocks--public .news-blocks__media-frame,
.news-blocks--preview .news-blocks__media-frame {
  position: relative;
  width: 100%;
  max-width: 100%;
  border-radius: 8px;
  /* Neutral frame on article bg — no blue/grey fill behind contain/cover */
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.06);
  box-sizing: border-box;
  filter: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.news-blocks--preview .news-blocks__media-frame {
  border-radius: 8px;
}

/* Public article: embedded imagery — avoid card chrome (preview unchanged) */
.news-blocks--public .news-blocks__media-frame {
  background: transparent;
  border: 1px solid rgba(15, 23, 42, 0.09);
  border-radius: 4px;
  padding: 0;
  box-shadow: none;
  mix-blend-mode: normal;
}

/* Cover: crop inside frame */
.news-blocks--public .news-blocks__media-wrap--fit-cover .news-blocks__media-frame,
.news-blocks--preview .news-blocks__media-wrap--fit-cover .news-blocks__media-frame {
  overflow: hidden;
}

.news-blocks--public .news-blocks__media-wrap--fit-cover .news-blocks__media,
.news-blocks--preview .news-blocks__media-wrap--fit-cover .news-blocks__media {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  background: #ffffff;
}

.news-blocks--public .news-blocks__media-wrap--fit-cover .news-blocks__media {
  background: transparent;
}

/*
 * Contain: show full image (no crop). Layout must own width — do not shrink-wrap figure/frame
 * for every layout, or full/center/wide stay narrow inside the column and “wide feature”
 * looks like a small centered card. Floats keep a full-width rail inside the float column.
 */
.news-blocks--public .news-blocks__media-wrap--fit-contain,
.news-blocks--preview .news-blocks__media-wrap--fit-contain {
  display: block;
}

.news-blocks--public .news-blocks__media-wrap--fit-contain .news-blocks__media,
.news-blocks--preview .news-blocks__media-wrap--fit-contain .news-blocks__media {
  display: block;
  height: auto;
  object-fit: contain;
}

.news-blocks--public .news-blocks__media-wrap--fit-contain .news-blocks__media-frame {
  border-color: rgba(15, 23, 42, 0.07);
}

/* Full width + contain — spans the article column */
.news-blocks--public .news-blocks__media-wrap--layout-full.news-blocks__media-wrap--fit-contain .news-blocks__figure,
.news-blocks--preview .news-blocks__media-wrap--layout-full.news-blocks__media-wrap--fit-contain .news-blocks__figure {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.news-blocks--public .news-blocks__media-wrap--layout-full.news-blocks__media-wrap--fit-contain .news-blocks__media-frame,
.news-blocks--preview .news-blocks__media-wrap--layout-full.news-blocks__media-wrap--fit-contain .news-blocks__media-frame {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  overflow: visible;
}

.news-blocks--public .news-blocks__media-wrap--layout-full.news-blocks__media-wrap--fit-contain .news-blocks__media,
.news-blocks--preview .news-blocks__media-wrap--layout-full.news-blocks__media-wrap--fit-contain .news-blocks__media {
  width: 100%;
  max-width: 100%;
  max-height: min(85vh, 880px);
}

/* Centered medium + contain — reading-width rail, centered */
.news-blocks--public .news-blocks__media-wrap--layout-center.news-blocks__media-wrap--fit-contain .news-blocks__figure,
.news-blocks--preview .news-blocks__media-wrap--layout-center.news-blocks__media-wrap--fit-contain .news-blocks__figure {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: min(36rem, 100%);
  margin-left: auto;
  margin-right: auto;
}

.news-blocks--public .news-blocks__media-wrap--layout-center.news-blocks__media-wrap--fit-contain .news-blocks__media-frame,
.news-blocks--preview .news-blocks__media-wrap--layout-center.news-blocks__media-wrap--fit-contain .news-blocks__media-frame {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  overflow: visible;
}

.news-blocks--public .news-blocks__media-wrap--layout-center.news-blocks__media-wrap--fit-contain .news-blocks__media,
.news-blocks--preview .news-blocks__media-wrap--layout-center.news-blocks__media-wrap--fit-contain .news-blocks__media {
  width: 100%;
  max-width: 100%;
  max-height: min(72vh, 640px);
}

/* Wide feature + contain — fills the breakout strip */
.news-blocks--public .news-blocks__media-wrap--layout-wide.news-blocks__media-wrap--fit-contain .news-blocks__figure,
.news-blocks--preview .news-blocks__media-wrap--layout-wide.news-blocks__media-wrap--fit-contain .news-blocks__figure {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.news-blocks--public .news-blocks__media-wrap--layout-wide.news-blocks__media-wrap--fit-contain .news-blocks__media-frame,
.news-blocks--preview .news-blocks__media-wrap--layout-wide.news-blocks__media-wrap--fit-contain .news-blocks__media-frame {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  overflow: visible;
}

.news-blocks--public .news-blocks__media-wrap--layout-wide.news-blocks__media-wrap--fit-contain .news-blocks__media,
.news-blocks--preview .news-blocks__media-wrap--layout-wide.news-blocks__media-wrap--fit-contain .news-blocks__media {
  width: 100%;
  max-width: 100%;
  max-height: min(88vh, 920px);
}

/* Inset / portrait + contain — narrow column, centered */
.news-blocks--public .news-blocks__media-wrap--layout-inset.news-blocks__media-wrap--fit-contain .news-blocks__figure,
.news-blocks--preview .news-blocks__media-wrap--layout-inset.news-blocks__media-wrap--fit-contain .news-blocks__figure {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 260px;
  margin-left: auto;
  margin-right: auto;
}

.news-blocks--public .news-blocks__media-wrap--layout-inset.news-blocks__media-wrap--fit-contain .news-blocks__media-frame,
.news-blocks--preview .news-blocks__media-wrap--layout-inset.news-blocks__media-wrap--fit-contain .news-blocks__media-frame {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow: visible;
}

.news-blocks--public .news-blocks__media-wrap--layout-inset.news-blocks__media-wrap--fit-contain .news-blocks__media,
.news-blocks--preview .news-blocks__media-wrap--layout-inset.news-blocks__media-wrap--fit-contain .news-blocks__media {
  width: 100%;
  max-width: 100%;
  max-height: min(46vh, 380px);
}

/* Floats + contain — full rail inside float width */
.news-blocks--public .news-blocks__media-wrap--layout-float_left.news-blocks__media-wrap--fit-contain .news-blocks__figure,
.news-blocks--public .news-blocks__media-wrap--layout-float_right.news-blocks__media-wrap--fit-contain .news-blocks__figure,
.news-blocks--preview .news-blocks__media-wrap--layout-float_left.news-blocks__media-wrap--fit-contain .news-blocks__figure,
.news-blocks--preview .news-blocks__media-wrap--layout-float_right.news-blocks__media-wrap--fit-contain .news-blocks__figure {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.news-blocks--public .news-blocks__media-wrap--layout-float_left.news-blocks__media-wrap--fit-contain .news-blocks__media-frame,
.news-blocks--public .news-blocks__media-wrap--layout-float_right.news-blocks__media-wrap--fit-contain .news-blocks__media-frame,
.news-blocks--preview .news-blocks__media-wrap--layout-float_left.news-blocks__media-wrap--fit-contain .news-blocks__media-frame,
.news-blocks--preview .news-blocks__media-wrap--layout-float_right.news-blocks__media-wrap--fit-contain .news-blocks__media-frame {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  overflow: visible;
}

.news-blocks--public .news-blocks__media-wrap--layout-float_left.news-blocks__media-wrap--fit-contain .news-blocks__media,
.news-blocks--public .news-blocks__media-wrap--layout-float_right.news-blocks__media-wrap--fit-contain .news-blocks__media,
.news-blocks--preview .news-blocks__media-wrap--layout-float_left.news-blocks__media-wrap--fit-contain .news-blocks__media,
.news-blocks--preview .news-blocks__media-wrap--layout-float_right.news-blocks__media-wrap--fit-contain .news-blocks__media {
  width: 100%;
  max-width: 100%;
  max-height: min(52vh, 360px);
}

/* Layout + cover: each layout has a distinct role (floats unchanged) */

/* Full width — spans the article column edge-to-edge; moderate banner height */
.news-blocks--public .news-blocks__media-wrap--layout-full.news-blocks__media-wrap--fit-cover .news-blocks__media-frame,
.news-blocks--preview .news-blocks__media-wrap--layout-full.news-blocks__media-wrap--fit-cover .news-blocks__media-frame {
  aspect-ratio: 16 / 9;
  width: 100%;
  max-width: 100%;
  max-height: min(56vh, 520px);
}

/* Centered medium — inset “reading” photo, never full column width */
.news-blocks--public .news-blocks__media-wrap--layout-center.news-blocks__media-wrap--fit-cover .news-blocks__media-frame,
.news-blocks--preview .news-blocks__media-wrap--layout-center.news-blocks__media-wrap--fit-cover .news-blocks__media-frame {
  aspect-ratio: 4 / 3;
  max-width: min(36rem, 100%);
  margin-left: auto;
  margin-right: auto;
  max-height: min(62vh, 500px);
}

/* Wide feature — cinematic crop + larger cap (pair with breakout wrap on desktop) */
.news-blocks--public .news-blocks__media-wrap--layout-wide.news-blocks__media-wrap--fit-cover .news-blocks__media-frame,
.news-blocks--preview .news-blocks__media-wrap--layout-wide.news-blocks__media-wrap--fit-cover .news-blocks__media-frame {
  aspect-ratio: 2 / 1;
  width: 100%;
  max-width: 100%;
  max-height: min(72vh, 680px);
}

/*
 * Float + cover: do not force a fixed aspect box — that leaves “phantom” float height so wrap
 * continues in the narrow column below the visible image. Size the frame to the media instead.
 */
.news-blocks--public .news-blocks__media-wrap--layout-float_left.news-blocks__media-wrap--fit-cover .news-blocks__media-frame,
.news-blocks--public .news-blocks__media-wrap--layout-float_right.news-blocks__media-wrap--fit-cover .news-blocks__media-frame,
.news-blocks--preview .news-blocks__media-wrap--layout-float_left.news-blocks__media-wrap--fit-cover .news-blocks__media-frame,
.news-blocks--preview .news-blocks__media-wrap--layout-float_right.news-blocks__media-wrap--fit-cover .news-blocks__media-frame {
  aspect-ratio: unset;
  height: auto;
}

.news-blocks--public .news-blocks__media-wrap--layout-float_left.news-blocks__media-wrap--fit-cover .news-blocks__media,
.news-blocks--public .news-blocks__media-wrap--layout-float_right.news-blocks__media-wrap--fit-cover .news-blocks__media,
.news-blocks--preview .news-blocks__media-wrap--layout-float_left.news-blocks__media-wrap--fit-cover .news-blocks__media,
.news-blocks--preview .news-blocks__media-wrap--layout-float_right.news-blocks__media-wrap--fit-cover .news-blocks__media {
  position: relative;
  inset: auto;
  width: 100%;
  height: auto;
  max-height: min(48vh, 380px);
  object-fit: cover;
}

.news-blocks--public .news-blocks__media-wrap--layout-inset.news-blocks__media-wrap--fit-cover .news-blocks__media-frame,
.news-blocks--preview .news-blocks__media-wrap--layout-inset.news-blocks__media-wrap--fit-cover .news-blocks__media-frame {
  aspect-ratio: 3 / 4;
  max-width: 260px;
  margin-left: auto;
  margin-right: auto;
  max-height: min(42vh, 360px);
}

/* Tablet/mobile: stack floats, no overflow */

@media (max-width: 899px) {
  .news-blocks--public .news-blocks__media-wrap--layout-float_left,
  .news-blocks--public .news-blocks__media-wrap--layout-float_right,
  .news-blocks--preview .news-blocks__media-wrap--layout-float_left,
  .news-blocks--preview .news-blocks__media-wrap--layout-float_right {
    float: none;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    clear: none;
  }

  .news-blocks--public .news-blocks__media-wrap--layout-wide,
  .news-blocks--preview .news-blocks__media-wrap--layout-wide {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    transform: none;
  }

  .news-blocks--public .news-blocks__media-wrap--layout-inset,
  .news-blocks--preview .news-blocks__media-wrap--layout-inset {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .news-blocks--public .news-blocks__media-wrap--layout-inset .news-blocks__figure,
  .news-blocks--preview .news-blocks__media-wrap--layout-inset .news-blocks__figure,
  .news-blocks--public .news-blocks__media-wrap--layout-inset .news-blocks__media-frame,
  .news-blocks--preview .news-blocks__media-wrap--layout-inset .news-blocks__media-frame {
    max-width: 100%;
    width: 100%;
  }

  .news-blocks--public .news-blocks__h,
  .news-blocks--preview .news-blocks__h {
    clear: none;
  }
}

/* Desktop editorial: floats, clears, wide breakout */

@media (min-width: 900px) {
  .news-blocks--public .news-blocks__h,
  .news-blocks--preview .news-blocks__h {
    clear: none;
  }

  .news-blocks--public .news-blocks__media-wrap--layout-full + .news-blocks__h,
  .news-blocks--public .news-blocks__media-wrap--layout-wide + .news-blocks__h,
  .news-blocks--public .news-blocks__media-wrap--layout-center + .news-blocks__h,
  .news-blocks--public .news-blocks__media-wrap--layout-inset + .news-blocks__h,
  .news-blocks--preview .news-blocks__media-wrap--layout-full + .news-blocks__h,
  .news-blocks--preview .news-blocks__media-wrap--layout-wide + .news-blocks__h,
  .news-blocks--preview .news-blocks__media-wrap--layout-center + .news-blocks__h,
  .news-blocks--preview .news-blocks__media-wrap--layout-inset + .news-blocks__h {
    clear: both;
  }

  .news-blocks--public .news-blocks__media-wrap--layout-full,
  .news-blocks--public .news-blocks__media-wrap--layout-wide,
  .news-blocks--public .news-blocks__media-wrap--layout-center,
  .news-blocks--public .news-blocks__media-wrap--layout-inset,
  .news-blocks--preview .news-blocks__media-wrap--layout-full,
  .news-blocks--preview .news-blocks__media-wrap--layout-wide,
  .news-blocks--preview .news-blocks__media-wrap--layout-center,
  .news-blocks--preview .news-blocks__media-wrap--layout-inset {
    clear: both;
  }

  /* Admin preview: preserve prior float rhythm */
  .news-blocks--preview .news-blocks__media-wrap--layout-float_left {
    float: left;
    width: 38%;
    max-width: 38%;
    margin: 0 1rem 0 0;
  }

  .news-blocks--preview .news-blocks__media-wrap--layout-float_right {
    float: right;
    width: 38%;
    max-width: 38%;
    margin: 0 0 0 1rem;
  }

  /*
   * Public floats: no bottom margin on the float — any bottom margin extends the float’s
   * margin box downward so wrapped lines stay indented below the image (“phantom” wrap zone).
   * Vertical spacing above the float + between blocks comes from margin-top here and <p> margins.
   */
  .news-blocks--public .news-blocks__media-wrap--layout-float_left {
    float: left;
    width: clamp(220px, 32%, 320px);
    margin: 1.2rem 1.125rem 0 0;
  }

  .news-blocks--public .news-blocks__media-wrap--layout-float_right {
    float: right;
    width: clamp(220px, 32%, 320px);
    margin: 1.2rem 0 0 1.125rem;
  }

  .news-blocks--public .news-blocks__media-wrap--layout-full,
  .news-blocks--preview .news-blocks__media-wrap--layout-full {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    transform: none;
  }

  /*
   * Break out past the text measure — margin-centering avoids transform on the wrap,
   * which keeps raster images sharper than translateX(-50%) compositing in some engines.
   * Public only: preview sits in a narrow white dialog; 100vw breakout would spill
   * dark-styled text/media onto the dark overlay and look “invisible”.
   */
  .news-blocks--public .news-blocks__media-wrap--layout-wide {
    width: min(1120px, calc(100vw - 1.25rem));
    margin-left: calc(50% - (min(1120px, calc(100vw - 1.25rem)) / 2));
    transform: none;
  }

  .news-blocks--preview .news-blocks__media-wrap--layout-wide {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    transform: none;
  }

  .news-blocks--public .news-blocks__media-wrap--layout-wide .news-blocks__media-frame,
  .news-blocks--preview .news-blocks__media-wrap--layout-wide .news-blocks__media-frame {
    margin-left: auto;
    margin-right: auto;
  }

  /*
   * Beside floats: following blocks may be headings or paragraphs — allow wrap (no clear).
   */
  .news-blocks--public .news-blocks__media-wrap--layout-float_left + .news-blocks__p,
  .news-blocks--public .news-blocks__media-wrap--layout-float_right + .news-blocks__p,
  .news-blocks--public .news-blocks__media-wrap--layout-float_left + .news-blocks__h,
  .news-blocks--public .news-blocks__media-wrap--layout-float_right + .news-blocks__h,
  .news-blocks--preview .news-blocks__media-wrap--layout-float_left + .news-blocks__p,
  .news-blocks--preview .news-blocks__media-wrap--layout-float_right + .news-blocks__p,
  .news-blocks--preview .news-blocks__media-wrap--layout-float_left + .news-blocks__h,
  .news-blocks--preview .news-blocks__media-wrap--layout-float_right + .news-blocks__h {
    overflow: visible;
    padding-top: max(2px, 0.08em);
  }
}
