/* Ajustes de longitud de los textos y centrado del único canal.
   Colores, mapa, módulos, tipografía y animaciones conservados de Landing 1. */
.hero-copy h1 { font-size: clamp(44px, 4.6vw, 69px); }
.ecosystem .module p { white-space: normal; }
.ecosystem .module--movements small { font-size: 7.5px; }
#contact-widget.is-docked .channel-list {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
}
#contact-widget.is-docked .channel--wa { width: 100%; max-width: 480px; }
.contact-slot { min-height: 92px; }
@media (max-width: 1190px) and (min-width: 761px) {
  .hero-copy h1 { font-size: clamp(37px, 4.5vw, 54px); }
  .ecosystem .module--movements small { font-size: 7px; }
}
@media (max-width: 760px) {
  .hero-copy h1 { font-size: clamp(38px, 8.9vw, 64px); }
  .contact-slot { min-height: 90px; }
}
@media (max-width: 420px) {
  .hero-copy h1 { font-size: clamp(34px, 9.4vw, 39px); }
  .ecosystem .module--movements small { font-size: 6.5px; }
}
@media (max-width: 345px) { .hero-copy h1 { font-size: 32px; } }
/* Evitar que el ancho intrínseco del mapa ensanche la grilla en tablet. */
@media (min-width: 761px) {
  .hero-grid { grid-template-columns: minmax(0, 1.07fr) minmax(0, 1fr); }
  .hero-grid > * { min-width: 0; }
}
@media (min-width: 761px) and (max-width: 1190px) {
  .ecosystem { min-height: 570px; }
  .ecosystem .core { top: 41%; }
  .ecosystem .module--movements { bottom: 25%; }
}
