/* Shared with the Academy landing on the VPS. Keep official partner artwork intact. */
.academy-pack-card { min-width: 0; }
.academy-pack-card > ul > li > span { min-width: 0; flex: 1; }
@supports (grid-template-rows: subgrid) {
  @media (min-width: 1024px) {
    .academy-pack-grid.grid { row-gap: 0; }
    .academy-pack-grid > .academy-pack-card {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 8;
      row-gap: 0;
      align-items: start;
    }
    .academy-pack-card > ul { align-self: stretch; }
    .academy-pack-card > :last-child { align-self: end; }
  }
}
/* Align the icon/title/copy tracks, including when a title wraps. */
.academy-highlights > article { justify-content: flex-start; min-width: 0; }
.academy-highlights > article > svg { flex-shrink: 0; }
@supports (grid-template-rows: subgrid) {
  .academy-highlights > article {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    align-items: start;
    justify-items: center;
    row-gap: .75rem;
  }
  @media (min-width: 1001px) {
    .plans-grid > .plan {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 5;
      row-gap: 0;
      align-items: start;
    }
    .plans-grid > .plan > ul { align-self: stretch; }
    .plans-grid > .plan > .button { align-self: end; }
    .plans-grid > .plan > .plan-description { min-height: 0; }
  }
}
/* Icons have their own column; wrapped text keeps the same left edge. */
.plans-grid > .plan > ul > li {
  display: grid;
  grid-template-columns: 17px minmax(0, 1fr);
  align-items: start;
  justify-content: start;
  text-align: left;
  gap: .55rem;
}
.plans-grid > .plan > ul > li > svg { margin-top: .18em; }
.certification-partner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  max-width: 980px;
  margin: 1.75rem auto;
  padding: 1.25rem 1.5rem;
  border: 1px solid #d9ceb6;
  border-radius: 16px;
  background: #fffdf8;
  color: #172033;
  text-align: left;
}
.certification-partner__logo {
  display: block;
  flex: 0 0 auto;
  padding: .5rem;
  border-radius: 8px;
  background: #fff;
}
.certification-partner__logo img { display: block; width: 160px; height: 48px; object-fit: contain; }
.certification-partner h2, .certification-partner h3 {
  margin: 0 0 .35rem;
  color: #172033;
  font: 750 1.1rem/1.4 system-ui, sans-serif;
}
.certification-partner p { margin: 0; color: #58666d; font: 400 .95rem/1.55 system-ui, sans-serif; }
.certification-partner p + p { margin-top: .35rem; font-size: .82rem; }
.certification-partner a:focus-visible { outline: 3px solid #b78335; outline-offset: 4px; }
@media (max-width: 600px) {
  .certification-partner { flex-direction: column; padding: 1.25rem; text-align: center; }
}
