/* Explicit media frames: no display:contents or image sizing against grid areas. */
.main-content .ar-editorial {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  min-width: 0;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: radial-gradient(circle at 50% 50%, #00ac3400 0, #00ac3499 100%), linear-gradient(#000000e6, #000000e6);
}
.ar-editorial__body {
  min-width: 0;
  width: 100%;
  order: 0;
}
.ar-editorial__body > h2 {
  margin: 0;
  padding: 12px 20px;
  background: var(--structured-header-gradient);
  color: #ffc882;
  font-size: clamp(26px, 2.3vw, 35px);
  line-height: 1.18;
  letter-spacing: -.5px;
}
.ar-editorial__copy { padding: 20px; min-width: 0; }
.ar-editorial__copy > :last-child { margin-bottom: 0; }
.ar-editorial__copy h3 { margin: 20px 0 12px; }
.ar-editorial__body > .content-section__action { margin: 0 20px 20px; }
.ar-editorial__media {
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  order: 1;
}
.ar-editorial--media-left .ar-editorial__media { order: -1; }
.ar-editorial__media > img {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center top;
}
/* Phone layout is intrinsic to width and independent of image load timing. */
@media (max-width: 719.98px) {
  .main-content .ar-editorial { display: flex; flex-direction: column; }
  .ar-editorial__media,
  .ar-editorial--media-left .ar-editorial__media {
    order: -1;
    height: 0;
    padding-top: 56.25%;
    flex: 0 0 auto;
  }
}
/* Fix percentage sizing in other media wrappers, including Safari grid children. */
.main-content .list-media-block__media,
.main-content .rating-card-layout__media {
  width: 100%;
  min-width: 0;
  justify-self: stretch;
}
.main-content .list-media-block__media > img,
.main-content .rating-card-layout__media > img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  object-position: center top;
}

.ar-editorial__copy p { max-width: none; }

.ar-editorial--wide-title .ar-editorial__body > h2 { font-size: clamp(22px, 2vw, 35px); }

/* The APK illustration places its face to the right of the source centre. */
.ar-editorial--portrait-right .ar-editorial__media > img { object-position: 64% top; }
