/* Ajuste local de legibilidad; se conserva el contenido y el diseño de escritorio. */
@media (max-width: 767px) {
  nav.fixed { position: sticky; background: #1a3a1c !important; }
  nav > div { flex-wrap: wrap; justify-content: center; gap: 0.65rem; padding: 0.65rem 1rem; }
  nav > div > div { flex-wrap: wrap; justify-content: center; gap: 0.35rem 0.65rem; }
  nav > div > div a { font-size: 0.75rem; padding: 0.4rem 0.45rem; }
  nav a, nav span { color: #fff !important; }
  nav a.font-bold { color: #a5d66d !important; }
  nav .text-sm { font-size: 0.8rem; }
  h1 { font-size: clamp(1.8rem, 7.2vw, 2.6rem) !important; line-height: 1.15 !important; }
  h2 { font-size: clamp(1.6rem, 7vw, 2rem) !important; line-height: 1.2 !important; }
  h1, h2, h3, p, a { overflow-wrap: break-word; }
  section.h-screen { height: calc(100svh - 140px); min-height: 580px; }
  .grid-cols-2, .grid-cols-3, .grid-cols-5 { grid-template-columns: minmax(0, 1fr); }
  .grid-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gap-16, .gap-20 { gap: 2rem; }
  .py-24, .py-20 { padding-top: 3rem; padding-bottom: 3rem; }
  .p-10, .p-12 { padding: 1.25rem; }
  .px-12 { padding-left: 1.25rem; padding-right: 1.25rem; }
  .text-5xl, .text-6xl { font-size: 2rem; line-height: 1.2; }
  a.whitespace-nowrap, button.whitespace-nowrap { white-space: normal; text-align: center; }
  input, select, textarea { min-width: 0; max-width: 100%; }
  footer .grid { grid-template-columns: minmax(0, 1fr); }
  footer .flex.justify-between, footer .flex.gap-16 { flex-direction: column; gap: 2rem; }
  footer .flex.gap-5 { flex-wrap: wrap; }
}
