/* ==========================================================================
   RESPONSIVE.CSS
   ========================================================================== */

@media (max-width: 992px) {
  .stats__grid { grid-template-columns: repeat(2, 1fr); }
  .por-que__grid { grid-template-columns: 1fr; }
  .contacto__grid { grid-template-columns: 1fr; gap: var(--espacio-lg); }
  .footer__inner { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  /* ---------- Menú móvil a pantalla completa, con la identidad de marca ---------- */
  .nav {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    display: flex; flex-direction: column;
    background: var(--gradiente-oscuro);
    padding: 100px var(--espacio-md) var(--espacio-lg);
    transform: translateX(100%);
    transition: transform 0.35s ease;
    z-index: 99;
    overflow-y: auto;
  }
  .nav.is-abierto { transform: translateX(0); }

  .header .nav__marca { display: block; margin-bottom: var(--espacio-lg); }
  .nav__logo { height: 32px; border-radius: 6px; }

  .nav__list {
    flex-direction: column;
    gap: var(--espacio-md);
    font-size: 1.35rem;
    font-family: var(--fuente-titulos);
    margin-bottom: var(--espacio-lg);
  }
  .nav__list li {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.35s ease, transform 0.35s ease;
  }
  .nav.is-abierto .nav__list li { opacity: 1; transform: translateY(0); }
  .nav.is-abierto .nav__list li:nth-child(1) { transition-delay: 0.08s; }
  .nav.is-abierto .nav__list li:nth-child(2) { transition-delay: 0.14s; }
  .nav.is-abierto .nav__list li:nth-child(3) { transition-delay: 0.2s; }
  .nav.is-abierto .nav__list li:nth-child(4) { transition-delay: 0.26s; }

  .nav__link { color: var(--white); }
  .nav__link::after { background: var(--gradiente-marca); }

  .header .nav__cta {
    display: inline-flex;
    margin-top: auto;
    opacity: 0;
    transition: opacity 0.35s ease 0.3s;
  }
  .nav.is-abierto .nav__cta { opacity: 1; }

  .header__cta { display: none; }
  .nav__toggle { display: flex; }

  .hero__inner { padding-top: var(--espacio-md); padding-bottom: var(--espacio-md); }

  /* Isotipo "G" flotante: llena el espacio vacío que queda arriba del hero en móvil */
  .hero__logo-flotante {
    display: block;
    height: 108px;
    width: auto;
    margin: 0 auto var(--espacio-md);
  }
  .badge { margin-bottom: var(--espacio-sm); font-size: 0.72rem; padding: 6px 14px; }
  .hero__titulo { font-size: 1.9rem; margin: var(--espacio-sm) 0; line-height: 1.25; }
  .hero__subtitulo { font-size: 1rem; margin-bottom: var(--espacio-md); }
  .hero__subtitulo--completa { display: none; }
  .hero__subtitulo--corta { display: block; }
  .hero__scroll { display: none; }
  .stats__grid { grid-template-columns: 1fr 1fr; gap: var(--espacio-md) var(--espacio-sm); }
  .footer__inner { grid-template-columns: 1fr; gap: var(--espacio-md); }
  .contacto__form { padding: var(--espacio-md); }
  .niveles__tab { font-size: 0.8rem; padding: 10px 14px; }
}

@media (max-width: 480px) {
  .hero__acciones { flex-direction: column; }
  .btn { width: 100%; }
  .hero__titulo { font-size: 1.65rem; }
}
