/* Aula TP · menú canónico y portada de oficio. 2026-10-09 */
header nav a, footer nav a, #nav a { white-space: nowrap; }
.nav-cta span, .demo-link span { white-space: nowrap; }
.hero-media, figure { position: relative; }
.tp-media-caption {
  margin: 8px 0 0;
  color: #334155;
  font-size: .84rem;
  line-height: 1.35;
}
img[data-tp-poster] {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  object-fit: cover;
}
img[data-tp-poster][hidden] { display: none; }

/* Keep the presentation and its caption in flow above the capability strip. */
#inicio.hero { height: auto; min-height: 0; align-items: center; }
#inicio.hero > .hero-media {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: center;
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;
  margin: 0;
}
#inicio.hero .hero-media > img[data-tp-poster] { display: none; }
#inicio.hero .hero-media video {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 9;
  object-fit: contain;
}
#inicio.hero .hero-media figcaption {
  width: 100%;
  flex-wrap: wrap;
  gap: 6px 16px;
  height: auto;
  min-height: 0;
}
#inicio.hero .tp-media-caption { width: 100%; margin: 0; padding: 0 18px 14px; }
#inicio.hero + .capabilities {
  position: static;
  height: auto;
  margin-top: 0;
  padding-block: 16px 8px;
  transform: none;
}
#inicio.hero + .capabilities .capability-card {
  min-width: 0;
  height: auto;
  transform: none;
}
#inicio.hero + .capabilities .capability-card > span:last-child { min-width: 0; }
#inicio.hero + .capabilities .capability-card .icon { flex-shrink: 0; }
@media (max-width: 480px) {
  #inicio.hero + .capabilities { grid-template-columns: minmax(0, 1fr); }
}
.specialty-card[role="link"] { cursor: pointer; }
.status-badge.is-mission {
  background: #dbeafe;
  color: #1d4ed8;
}
@media (max-width: 780px) {
  header nav a, footer nav a, #nav a { white-space: normal; }
}
