.pro-hero { margin-bottom: 1.25rem; }
.pro-eyebrow {
  margin: 0 0 .35rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #2a9d8f;
}
.pro-cta-note {
  margin: .85rem 0 0;
  color: #3fe0cb;
  font-size: .92rem;
  line-height: 1.45;
}
.pro-card { margin-bottom: 1rem; }
.pro-card h2 { margin-top: 0; }
.pro-intro { color: #99c3d6; line-height: 1.55; }
.pro-toc ul {
  margin: .5rem 0 0;
  padding-left: 1.2rem;
  line-height: 1.6;
}
.pro-toc a { text-decoration: none; }
.pro-toc a:hover { text-decoration: underline; }
.pro-item {
  padding: 1rem 0;
  border-top: 1px solid rgba(32, 55, 67, .18);
}
.pro-item:first-of-type { border-top: 0; padding-top: .35rem; }
.pro-item h3 { margin: 0 0 .45rem; font-size: 1.1rem; }
.pro-item p { margin: 0; line-height: 1.55; color: #6b8691; }
.pro-media-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: .85rem;
  margin-top: .85rem;
  align-items: start;
}
.pro-figure {
  margin: 0;
  background: #0d171c;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(32, 55, 67, .35);
}
.pro-figure--video {
  grid-column: 1 / -1;
  max-width: 920px;
}
.pro-figure figcaption {
  padding: .55rem .75rem .7rem;
  font-size: .82rem;
  color: #8aa3ab;
  background: #122029;
  line-height: 1.4;
}
.pro-media {
  display: block;
  width: 100%;
  height: auto;
  max-height: 360px;
  object-fit: contain;
  background: #060d10;
  vertical-align: middle;
}
.pro-video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
}
.pro-figure--video .pro-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  background: #000;
}
.pro-figure--embed .pro-embed {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  background: #000;
}
.pro-figure--embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.pro-media-link { margin: .35rem .35rem 0 0; display: inline-block; }
.pro-compare-wrap { margin-top: .75rem; }
.pro-compare th:nth-child(1),
.pro-compare td:nth-child(1) { min-width: 8rem; font-weight: 600; }
.pro-compare th:nth-child(3),
.pro-compare td:nth-child(3) { background: rgba(42, 157, 143, .08); }
.pro-steps {
  margin: 0;
  padding-left: 1.25rem;
  line-height: 1.55;
}
.pro-steps li { margin-bottom: .55rem; }
.pro-footer-note { margin: 1.25rem 0 2rem; }
.muted-inline { color: #6b7c85; font-size: .92rem; }
@media (max-width: 720px) {
  .pro-compare { font-size: .88rem; }
}
