/* Ajustes para pantallas más grandes (mobile-first: lo que no está aquí ya funciona en móvil). */

@media (min-width: 480px) {
  .field-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-item__mid { font-size: 1.125rem; }
}

@media (min-width: 768px) {
  .hero__media { aspect-ratio: 16 / 10; }

  .about-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-card { min-height: 21.25rem; }

  .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service { min-height: 18.75rem; }

  .catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .card__img { height: 11.25rem; }
  .card__body { padding: 1.125rem 1.25rem; }
  .card__name { font-size: 1.625rem; }

  .modal[open] { flex-direction: row; }
  .modal__media { flex: 0 0 21.25rem; min-height: 25rem; }
  .modal__body { padding: 3rem 2.75rem 2.5rem; }

  .logos-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .certs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cert:last-child { grid-column: 1 / -1; }

  .site-footer__inner { flex-direction: row; justify-content: space-between; text-align: left; }
  .site-footer img { height: 2.875rem; }

  .whatsapp { right: 2rem; bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px)); padding: 0 1.375rem 0 1.125rem; }
  .whatsapp__text { display: inline; }
}

/* Navegación de escritorio */
@media (min-width: 1024px) {
  .nav-toggle { display: none; }

  .site-nav {
    position: static;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2.25rem;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .site-nav a { min-height: 0; border: 0; }

  .site-nav .site-nav__cta {
    min-height: 2.875rem;
    margin: 0;
    padding: 0 1.375rem;
  }
}

/* Composición de escritorio (columnas laterales) */
@media (min-width: 1100px) {
  :root { --fs-hero: min(calc(10vw - 6px), 8.5rem); }

  .hero { padding-block: 4.5rem 6.25rem; }

  .hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.64fr) minmax(0, 1fr);
    gap: 3.5rem;
  }

  .hero__media {
    align-self: start;
    height: 40rem;
    aspect-ratio: auto;
  }

  .band__list { justify-content: space-between; padding-block: 0; height: 6rem; }

  .credentials__inner {
    grid-template-columns: minmax(0, 35rem) minmax(0, 1fr);
    align-items: center;
    gap: 4rem;
  }

  .logos-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .certs-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .cert { grid-column: span 2; height: 11rem; }
  .cert:nth-child(n+4) { grid-column: span 3; }

  .contact__inner {
    grid-template-columns: minmax(0, 35rem) minmax(0, 1fr);
    align-items: start;
    gap: 4rem;
  }

  .contact-form { padding-top: 1rem; }

  .location {
    grid-template-columns: minmax(0, 25rem) minmax(0, 1fr);
    align-items: start;
    gap: 3.5rem;
  }

  .map { aspect-ratio: auto; height: 28.5rem; }
}

@media (min-width: 1280px) {
  .services-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .catalog-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
