/* Capabilities extends the established Medividia page typography and navigation. */
.cap-hero { grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); }
.cap-hero h1 { font-size: clamp(2.3rem,3.6vw,3.6rem); }
.cap-hero-figure .science-well { aspect-ratio: 1239 / 620; }
.cap-feature { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.2fr); align-items: center; gap: clamp(2rem,4vw,4rem); }
.cap-feature > * { min-width: 0; }
#blood-pumps .science-well { aspect-ratio: 1738 / 800; }
.cap-device-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1.5rem,3vw,3rem); }
.cap-device-grid article { min-width: 0; display: flex; flex-direction: column; border-top: 2px solid var(--hvs-red); padding-top: 1.5rem; }
.cap-device-grid h3 { margin-bottom: 1rem; }
.cap-device-grid article > p { margin-bottom: 1.5rem; }
.cap-device-grid .science-figure { margin-top: auto; }
.cap-device-grid .science-well { aspect-ratio: 4 / 3; }
.cap-whole-heart { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.85fr); gap: clamp(2rem,5vw,5rem); align-items: center; }
.cap-heart-figure { max-width: 600px; margin-inline: auto; }
.cap-heart-figure .science-well { aspect-ratio: 1; }
.cap-collaboration { color: #231f20; border-left: 2px solid var(--hvs-red); padding-left: 1rem; margin-top: 1.5rem; }
.cap-cycle { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: clamp(2rem,4vw,4rem); align-items: center; margin-top: 3rem; padding-top: 3rem; border-top: 1px solid var(--hvs-line); }
.cap-cycle h3 { margin-bottom: 1rem; font-size: clamp(1.55rem,2.2vw,2.3rem); }
.cap-cycle .science-well { aspect-ratio: 756 / 588; padding: 0; }
.cap-tailored { border-top: 1px solid var(--hvs-line); background: #101318; }
.cap-tailored .hvs-text-link { display: inline-block; margin-top: 1.5rem; }
@media (max-width: 1000px) {
  .cap-hero { grid-template-columns: 1fr; }
  .cap-hero-figure { max-width: 900px; }
}
@media (max-width: 800px) {
  .cap-feature, .cap-whole-heart, .cap-cycle { grid-template-columns: 1fr; }
  .cap-heart-figure { max-width: 560px; }
}
@media (max-width: 640px) {
  .cap-device-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .cap-hero h1 { font-size: clamp(2.15rem,8.3vw,2.9rem); }
}
