/* Article reading layout: cover and article body share the same 1200px frame.
   Social cover stays 1200:630; article body height follows its content.
   Original infographics retain their natural dimensions with no cropping. */
.article-detail-page.container {width:min(1200px,calc(100% - 64px));padding-top:34px;padding-bottom:72px;min-width:0}
.article-detail-cover {margin:0 auto 34px;padding:0;width:100%;aspect-ratio:1200/630;
  box-sizing:border-box;display:flex;justify-content:center;align-items:center;overflow:hidden;
  background:#061b32;border:1px solid #d8e8fb;border-radius:16px}
.article-detail-cover > img {display:block;width:100%;height:100%;object-fit:contain;object-position:center;max-width:100%;max-height:100%;border:0;border-radius:0}
.article-detail-content {width:100%;margin:0 auto;min-width:0;max-width:100%;box-sizing:border-box}
.article-detail-content .article-formatted-body {font-size:16px;line-height:1.85}
.article-detail-content .article-formatted-body img {display:block;width:auto;max-width:100%;height:auto;max-height:none;object-fit:contain;margin-inline:auto}
.article-detail-content .btn {margin-top:25px}
/* Service cards retain original layout. Article listing thumbnails are 1.91:1. */
.listing-card .listing-image-wrap {height:180px;overflow:hidden;background:#f1f7ff;display:flex;align-items:center;justify-content:center}
.listing-card .listing-image-wrap img {display:block;width:100%;height:100%;object-fit:cover}
.article-listing-card .listing-image-wrap {height:auto;aspect-ratio:1200/630;background:#061b32}
.article-listing-card .listing-image-wrap img {display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
@media (max-width:680px){
  .article-detail-page.container {width:calc(100% - 34px);padding-top:18px;padding-bottom:42px}
  .article-detail-cover {margin-bottom:22px;border-radius:10px}
  .article-detail-content .article-formatted-body {font-size:15px}
}


/* ENOVATION CMS v2.3.8 — article listing cover fills its own card.
   The global .listing-card > div rule adds 18px padding to *both* divs;
   override it only for image containers, not for the article text area.
   A positioned image cannot expand the height of an auto-sized ratio box.
*/
.listing-grid > .article-listing-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  align-self: stretch;
}
.listing-grid > .article-listing-card > .listing-image-wrap {
  position: relative;
  display: block;
  box-sizing: border-box;
  flex: 0 0 auto;
  width: 100%;
  height: auto;
  aspect-ratio: 1200 / 630;
  padding: 0;
  margin: 0;
  line-height: 0;
  overflow: hidden;
  background: #061b32;
  border-radius: 0;
}
.listing-grid > .article-listing-card > .listing-image-wrap > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  object-fit: contain;
  object-position: center;
}
.listing-grid > .article-listing-card > :not(.listing-image-wrap) {
  padding: 18px;
  flex: 1 1 auto;
}

/* v2.3.11: publication date/time on every article card, without changing images. */
.article-listing-card .article-publish-meta {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  margin: 9px 0 12px;
  color: #506780;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.55;
}
.article-listing-card .article-publish-meta svg {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  fill: none;
  stroke: #2878c2;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.article-listing-card .article-publish-meta span {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}
.article-listing-card .article-publish-meta time {white-space: nowrap; font-variant-numeric: tabular-nums}
@media (max-width: 390px) {
  .article-listing-card .article-publish-meta {font-size: 12.5px;gap: 6px}
  .article-listing-card .article-publish-meta time {white-space: normal}
}
