/* Responsive · 1440 · 1024 · 768 · 430 · 390 · 360 */

/* ── ≤ 1100 px: menos columnas; el hero pasa a una columna con la captura a todo el ancho ── */
@media (max-width: 1100px) {
  .hero__grid { grid-template-columns: minmax(0, 1fr); }
  .hero__copy { max-width: 720px; }
  .hero__visual { margin-right: 0; }
  .capture--hero { border-radius: var(--r-lg); border-right: 1px solid var(--c-line); }
  .checks { display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-6); }
  .checks li { white-space: nowrap; }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-header__inner { gap: var(--s-4); }
  .site-nav__link { padding: 0 var(--s-3); }
}

/* ── ≤ 960 px: una columna; el menú pasa a botón ── */
@media (max-width: 960px) {
  .split-2, .measure { grid-template-columns: minmax(0, 1fr); }
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plans { grid-template-columns: minmax(0, 1fr); max-width: 560px; margin-inline: auto; }
  .plan__desc { min-height: 0; }
  .split-2--media-right > :last-child { justify-self: center; }

  /* Sin JS: el menú no se colapsa (se ocultan las anclas, queda «Probar demo»). */
  .site-nav { display: none; }
  html.js .nav-toggle { display: grid; }
  html.js .site-nav {
    position: absolute; inset: var(--header-h) 0 auto 0;
    padding: var(--s-4) var(--gutter) var(--s-6);
    background: var(--c-bg); border-bottom: 1px solid var(--c-line); box-shadow: var(--shadow-2);
  }
  html.js .site-nav[data-open="true"] { display: block; }
  .site-nav__list { flex-direction: column; gap: var(--s-1); }
  .site-nav__link { min-height: 52px; font-size: var(--fs-lg); width: 100%; }
  .site-header { position: sticky; }
}

/* ── ≤ 640 px: móvil ── */
@media (max-width: 640px) {
  :root { --header-h: 64px; }
  .brand { flex-direction: column; align-items: flex-start; gap: 0; line-height: 1.15; }
  .brand__name { font-size: 1.0625rem; }
  .brand__by { font-size: 0.8125rem; }
  .site-header__cta { padding: 0 var(--s-4); font-size: var(--fs-sm); min-height: 44px; }
  .hero { padding-top: var(--s-8); }
  .hero__lead { font-size: var(--fs-md); }
  .cta-row { flex-direction: column; align-items: stretch; }
  .cta-row .btn { width: 100%; }
  .checks { display: grid; gap: var(--s-3); }
  .checks li { white-space: normal; }
  .hero .eyebrow { font-size: 0.8125rem; letter-spacing: .08em; }
  .capture { border-radius: var(--r-md); }
  .capture--hero { border-radius: var(--r-md); }
  .cards { grid-template-columns: minmax(0, 1fr); }
  .card { padding: var(--s-6); }
  .steps { grid-template-columns: minmax(0, 1fr); }
  .groups { grid-template-columns: minmax(0, 1fr); }
  .group { padding: var(--s-6); }
  .cycle { flex-direction: column; gap: var(--s-2); }
  .cycle__step { flex-direction: column; gap: var(--s-2); }
  .cycle__step + .cycle__step::before { width: 2px; height: 16px; }
  .flow__sources { grid-template-columns: 1fr 1fr; }
  .channels, .waiter, .reports-more { margin-top: var(--s-10); }
  .concept { padding: var(--s-6) var(--s-4); }
  .concept__list { grid-template-columns: minmax(0, 1fr); }
  .toggles__row { flex-direction: column; align-items: flex-start; }
  .flow { flex-direction: column; gap: var(--s-2); }
  .flow > li { flex-direction: column; }
  .flow > li + li::before { width: 2px; height: 20px; }
  .btn--xl { width: 100%; }
  .site-footer__inner { grid-template-columns: minmax(0, 1fr); }
  .device { width: min(270px, 100%); padding: 9px; border-radius: 36px; }
  .device img { border-radius: 27px; }
}

/* ── ≤ 380 px: encabezado compacto (marca, «Probar demo» y menú) ── */
@media (max-width: 380px) {
  .site-header__inner { gap: var(--s-2); }
  .site-header__cta { padding: 0 var(--s-3); }
}

/* 0E.2 · composición del catálogo: una columna en tablet y móvil */
@media (max-width: 960px) {
  .catalog-duo { grid-template-columns: 1fr; grid-template-rows: none; }
  .catalog-duo__head, .capture--promos, .capture--bundle { grid-column: 1; grid-row: auto; }
  .capture--bundle { width: min(100%, 360px); justify-self: center; }
}
