/* APC Science Platform 1.9.0 – partner, press and accessibility refinements. */

/* Partner environments should read as a substantial full-width module rather
 * than a narrow secondary column. :has() is progressively enhanced below; the
 * block itself remains usable in older browsers. */
.apc-partner-block {
  position: relative;
  isolation: isolate;
  display: grid;
  gap: 20px;
  margin-top: 20px;
  padding: clamp(22px, 3vw, 38px);
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 10%, rgba(238, 119, 37, .16), transparent 28%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(238,245,248,.94));
  border: 1px solid rgba(0, 51, 87, .14);
  border-radius: clamp(20px, 2.5vw, 30px);
  box-shadow: 0 22px 58px rgba(0, 38, 64, .08);
}
.apc-partner-block::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 240px;
  height: 240px;
  right: -135px;
  bottom: -155px;
  border: 34px solid rgba(0, 51, 87, .055);
  border-radius: 50%;
}
.apc-partner-block__title {
  margin: 0;
  color: var(--navy-1000);
  font-size: clamp(18px, 1.8vw, 24px);
  line-height: 1.2;
}
.apc-partner-logos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr));
  gap: 14px;
}
.apc-partner-logo {
  min-width: 0;
  min-height: 112px;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  padding: 17px;
  color: var(--navy-1000);
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(0,51,87,.13);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(0,38,64,.045);
}
a.apc-partner-logo {
  transition: transform .2s var(--ease), border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
a.apc-partner-logo:hover,
a.apc-partner-logo:focus-visible {
  transform: translateY(-3px);
  background: var(--white);
  border-color: var(--orange-600);
  box-shadow: 0 17px 38px rgba(0,38,64,.1);
}
.apc-partner-logo__visual,
.apc-partner-logo__wordmark {
  width: 76px;
  height: 68px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 14px;
  background: var(--paper-cool);
}
.apc-partner-logo__image {
  display: block;
  width: 100%;
  height: 100%;
  padding: 8px;
  object-fit: contain;
}
.apc-partner-logo__wordmark {
  color: var(--orange-600);
  background: var(--navy-1000);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .06em;
}
.apc-partner-logo__copy {
  min-width: 0;
  display: grid;
  gap: 6px;
}
.apc-partner-logo__copy strong {
  font-size: 16px;
  line-height: 1.25;
}
.apc-partner-logo__copy small {
  color: var(--muted);
  line-height: 1.45;
}
@supports selector(:has(*)) {
  .intro-grid:has(.apc-partner-block),
  .content-grid:has(.apc-partner-block) {
    grid-template-columns: minmax(0, 1fr);
  }
  .intro-grid > *:has(.apc-partner-block),
  .content-grid > *:has(.apc-partner-block),
  .intro-grid > .apc-partner-block,
  .content-grid > .apc-partner-block {
    grid-column: 1 / -1;
    width: 100%;
  }
}

/* A definitively missing press article remains visible as a documented media
 * mention, but no false call-to-action is offered. */
.apc-media-mention--unavailable {
  cursor: default;
  opacity: .72;
  border-style: dashed;
  background: linear-gradient(145deg, var(--white), var(--paper-cool));
}
.apc-media-mention--unavailable:hover {
  transform: none;
  border-color: var(--line);
  box-shadow: none;
}
.apc-media-mention--unavailable small {
  color: var(--muted);
  font-weight: 700;
}

@media (max-width: 720px) {
  .apc-partner-block { padding: 20px; }
  .apc-partner-logos { grid-template-columns: 1fr; }
  .apc-partner-logo { grid-template-columns: 64px minmax(0, 1fr); min-height: 96px; padding: 14px; }
  .apc-partner-logo__visual,
  .apc-partner-logo__wordmark { width: 64px; height: 58px; }
}
