/* =============================================================
   responsive.css — breakpoints for Andreina Martínez IFMCP
   Desktop-first refinements: 1180 / 1024 / 768 / 560 / 400
   ============================================================= */

/* ---------- Large laptops ---------- */
@media (max-width: 1180px) {
  /* El menú tiene un enlace más (Reseñas): se aprieta un poco para que quepa */
  .nav__list { gap: 0.1rem; }
  .nav__link, .nav__trigger { padding-inline: 0.55rem; font-size: 0.82rem; }
  .header__inner { padding-left: 18px; gap: 1rem; }

  .hero__title { font-size: clamp(2.4rem, 4.6vw, 3.8rem); }
  .services__grid { gap: 1rem; }
  .footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1.4fr; }
  .footer__col:nth-child(4) { display: none; } /* fold "Explora" into others on medium */
}

/* ---------- Tablet landscape ---------- */
@media (max-width: 1024px) {
  :root { --pad: 40px; }

  /* Header: hide inline nav + CTA, show hamburger */
  .nav,
  .header__cta { display: none; }
  .nav-toggle { display: flex; }

  /* Hero becomes stacked */
  .hero { padding-top: 130px; min-height: auto; }
  .hero__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .hero__visual { order: -1; min-height: 420px; max-width: 560px; margin-inline: auto; }
  .hero__content { text-align: center; }
  .eyebrow, .hero__actions { justify-content: center; }
  .hero__lead { margin-inline: auto; }
  .helix { display: none; }

  /* Sections that were split become single column */
  .problem__grid { grid-template-columns: 1fr; gap: 1.6rem; }
  .approach__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .orbit { max-width: 340px; --r: 152px; }
  .process-about__grid { grid-template-columns: 1fr; gap: 2rem; }

  .resources__grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "products"
      "newsletter"
      "cta";
  }

  .footer__grid { grid-template-columns: 1fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
}

/* ---------- Tablet portrait ---------- */
@media (max-width: 768px) {
  .benefits__bar { grid-template-columns: 1fr 1fr; gap: 0.4rem; }
  .services__grid { grid-template-columns: 1fr; }
  .timeline { grid-template-columns: 1fr 1fr; gap: 1.6rem 1rem; }

  /* Testimonials: two per view */
  .testi-card { flex-basis: calc((100% - 1.4rem) / 2); }

  .testimonials__head { grid-template-columns: 1fr; gap: 0.4rem; }
  .testimonials__head .link-arrow { justify-self: start; }

  .about__portrait { display: none; }

  .footer__bottom { flex-direction: column; text-align: center; }
}

/* ---------- Mobile ---------- */
@media (max-width: 560px) {
  :root { --pad: 20px; }

  /* Disable custom cursor on touch */
  .cursor, .cursor-dot { display: none; }

  .header { top: 12px; width: calc(100% - 24px); }
  .header__inner { height: 66px; padding: 0 10px 0 18px; }
  .brand__text span { display: none; }

  .hero { padding-top: 108px; }
  .hero__title { font-size: clamp(2.1rem, 8vw, 2.9rem); }
  .hero__stats { flex-direction: column; }
  .hero__actions { flex-direction: column; }
  .hero__actions .btn { width: 100%; justify-content: center; }
  .hero__visual { min-height: 340px; }

  .benefits__bar { grid-template-columns: 1fr; }

  .timeline { grid-template-columns: 1fr; }

  /* Testimonials: one per view */
  .testi-card { flex-basis: 100%; }
  .slider__nav { width: 42px; height: 42px; }

  .product-card { grid-template-columns: 1fr; }
  .product-card__thumb { grid-row: auto; width: 100%; height: 84px; margin-bottom: 0.9rem; }

  .newsletter .field { flex-direction: column; }

  .footer__grid { grid-template-columns: 1fr; }
  .footer__col:nth-child(4) { display: block; } /* restore all footer cols on mobile */
}

/* ---------- Small mobile ---------- */
@media (max-width: 400px) {
  .hero__title { font-size: 1.95rem; }
  .btn { padding: 0.85rem 1.3rem; font-size: 0.86rem; }
  .problem__card,
  .about,
  .newsletter,
  .cta-final { padding: 1.6rem; }
}
