/* Compact "Media Mentions" component (design review). Static logo grid shared by internal marketing pages;
   the homepage keeps its full news section. Logos are non-interactive design previews. */
.ncm { background: var(--paper); border-bottom: 1px solid var(--line); padding-block: clamp(44px, 5vw, 72px); }
.ncm-grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.ncm-intro { min-width: 0; }
.ncm-intro h2 { font-size: clamp(28px, 2.8vw, 38px); margin: 14px 0 10px; }
.ncm-intro h2:first-child { margin-top: 0; }
.ncm-intro p { font-size: 17px; line-height: 1.6; color: #505050; max-width: 36ch; }
.ncm-logos { list-style: none; margin: 0; padding: 0; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ncm-logo { min-width: 0; height: 76px; display: grid; place-items: center; padding: 12px clamp(12px, 1.6vw, 18px); background: #fff; border: 1px solid var(--line); border-radius: var(--r-s); }
.ncm-logo img { display: block; width: auto; height: auto; max-height: var(--h, 30px); max-width: 100%; }
.ncm-logo:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (max-width: 860px) {
  .ncm-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .ncm-intro p { max-width: 52ch; }
}
@media (max-width: 600px) {
  .ncm-logos { gap: 10px; }
  .ncm-logo { height: 64px; padding: 10px 12px; }
  .ncm-logo img { max-height: calc(var(--h, 30px) * .82); }
}
@media (max-width: 359px) {
  .ncm-logos { grid-template-columns: minmax(0, 1fr); }
  .ncm-logo:last-child:nth-child(odd) { grid-column: auto; }
}
/* Sticky introduction (matches the measurement section's .ms-side approach): in the two-column layout the
   heading and paragraph stick below the fixed header while the logo grid scrolls in normal flow, and release
   at the grid's lower edge. Off when the grid stacks (≤860px) and on short viewports, where it uses normal flow. */
@media (min-width: 861px) and (min-height: 600px) {
  .ncm-intro { position: sticky; top: calc(var(--header-h) + 32px); }
}
