
@media (max-width:820px){
  section{padding:52px 0}
  .compare-sec,.audit,.results,.answer,.live,.services{padding:58px 0}
  .proof,.rev2{padding:56px 0}
  .method{padding:56px 0 60px}
  .section-head{margin-bottom:30px}
  .team-grid,.audit-panel,.answer-grid,.live-grid{gap:30px}
  .steps{gap:26px}
}
@media (max-width:560px){
  /* Ritmo de seccion */
  section{padding:44px 0}
  .compare-sec,.audit,.results,.answer,.live,.services{padding:48px 0}
  .proof,.rev2{padding:46px 0}
  .method{padding:46px 0 50px}
  .final{padding:40px 0}
  .rel{padding:40px 0}
  .section-head{margin-bottom:24px}
  .wrap{padding:0 20px}

  /* Tarjetas de la home: menos marco, mismo contenido */
  .rescard{padding:20px 20px}
  .rescards{gap:12px}
  .feat-review{padding:22px 20px;gap:16px}
  .fit-card{padding:22px 20px}
  .fit-cols{gap:14px}
  .why-picky{padding:20px 22px}
  .expect .card{padding:20px 22px}
  .commit{padding:20px 22px}
  .rcard{padding:20px 22px}
  .r2card{padding:20px 22px}
  .pf3-chat{padding:22px 20px}
  .final-panel{padding:32px 20px}
  .screenmock .scr{padding:16px}

  /* Tarjetas compartidas por las landings */
  .svc-card,.ind,.tst,.pcard,.cons,.faqo,.wedo-c,.pp-b,.cta-ga{padding:20px 20px}
  .price-note{padding:18px 20px}

  /* Titulares un escalon mas chicos: a 375px un H2 de 32,8px se come tres renglones.
     Valores planos, no clamp: con vw el titulo crecia justo por debajo del breakpoint. */
  :root{--h2:1.86rem;--h2-sub:1.62rem}
  .rescard h3{font-size:1.22rem}
  .m4-verb{font-size:1.3rem}

  /* Tabla comparativa apilada: 6 filas x 237px eran 1.448px de alto para 74 palabras.
     Se afina el aire de cada celda y la barra de titulo; el contenido no cambia. */
  .compare{gap:11px}
  .crow > div{padding:11px 16px}
  .c-label{font-size:1rem;padding-top:10px;padding-bottom:10px}
  .c-before::before,.c-after::before{margin-bottom:3px}

  /* Enlaces del footer: 24px de alto no es un objetivo tactil. Con el padding quedan en 44. */
  .foot-col a{padding:10px 0;margin-bottom:0}
  .foot-legal a,.foot-copy a{display:inline-block;padding:4px 0}
}


  /* /reservar-consultoria/ - pagina desnuda: menu, titulo, formulario y footer.
     Es el destino de ~98 CTA del sitio: quien llega ya decidio, asi que la pagina
     no vuelve a vender. Sin barra sticky (el CTA es el formulario) y sin bloque
     de consultoria (estas en el). */
  .book{padding:52px 0 72px}
  .book-head{max-width:720px;margin:0 auto 30px;text-align:center}
  .book-head h1{font-size:clamp(1.9rem,3.6vw,2.7rem);letter-spacing:-.02em;margin-bottom:14px}
  .book-head p{color:var(--ink-soft);font-size:1.08rem;line-height:1.6}
  .book-form{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);
    border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
  /* El widget de Typeform llena su contenedor: la altura la fija el contenedor. */
  .book-form > div{height:min(74vh,660px);min-height:520px}
  .book-fallback{max-width:900px;margin:16px auto 0;text-align:center;font-size:.9rem;color:var(--muted)}
  .book-fallback a{color:var(--violet)}
  @media(max-width:720px){
    .book{padding:36px 0 52px}
    .book-head{margin-bottom:22px}
    .book-form > div{height:min(80vh,620px);min-height:480px}
  }

/* =====================================================================
   BLINDAJE  (lo agrega el generador, no viene del HTML original)

   Los badges del footer y estos logos se dimensionaban SOLO con el
   atributo height del HTML. Cualquier hoja que declare img{height:auto}
   lo anula y los manda al tamano natural: los badges pasan de 80px de
   alto a 1727px. El tema ya saca el CSS de bloques de WordPress, que es
   quien traia esa regla, pero declararlo aca cuesta 400 bytes y deja de
   depender de eso. Tambien evita salto de layout (CLS) mientras cargan.
   ===================================================================== */
.foot-badges img{width:auto;height:38px;display:block}
.foot-badges img[src*="badge-premier"],
.foot-badges img[src*="badge-gptw"],
.foot-badges img[src*="badge-ecommerce"]{height:50px}

/* El panel del desplegable, un poco mas cerca del nav (venia con 9px de aire).
   El ::before es un puente invisible que cubre ese hueco: sin el, al bajar el
   mouse del boton al panel se dispara mouseleave y el menu se cierra en la cara
   del usuario. Los dos numeros TIENEN que ser iguales. */
.nav-menu{top:calc(100% + 4px)}
.nav-menu::before{top:-4px;height:4px}

/* Los titulos de columna del footer dejaron de ser headings: son rotulos, no
   estructura del documento (auditoria SEO del blog). Como <p> no heredan el
   font-weight:800 ni el line-height de h1,h2,h3,h4, van explicitos. Se ven igual
   que con .foot-col h2 / .foot-col h3, que es lo que declara base.css. */
.foot-col .foot-col-t{color:var(--ink);font-size:1rem;font-weight:800;line-height:1.12;margin:0 0 15px}

/* Rotulo de "Enlaces destacados", la ultima fila del footer. Va en <p> y no en <h3>
   por el mismo motivo que los titulos de columna: es una etiqueta, no una seccion
   del documento. Copia lo que base.css le da a .foot-feat h3. */
.foot-feat .foot-feat-t{color:var(--ink);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:0}

/* =============================================================================
   OVERRIDE · /reservar-consultoria/

   Pedido de Gaston: el menu deja de ser sticky, el panel del formulario va a
   todo el ancho de la pantalla y mide 90vh de alto.

   El razonamiento detras: es la pagina mas desnuda del sitio y su unico trabajo
   es que el formulario se complete. Todo lo que no sea el formulario compite.

   Este archivo se carga SOLO en esta plantilla (tpl-reservar-consultoria.css se
   encola nada mas que acá), asi que tocar header.nav aca no afecta al resto del
   sitio.
   ============================================================================= */

/* 1. El menu deja de ser sticky.
      En una pagina de una sola pantalla, un header pegado se come 73px de alto
      util todo el tiempo y no lleva a ningun lado: quien llego aca ya decidio.
      position:static y ademas se saca el z-index, que sin sticky no hace nada. */
header.nav{position:static;z-index:auto}

/* 2. El panel, de borde a borde.
      El .wrap le mete 24px de padding a cada lado y el panel se limita a 900px.
      Se anulan las tres cosas: padding del wrap, ancho maximo y el marco. Se
      sacan tambien el redondeo y los bordes laterales, que a sangre completa
      quedan cortados por la mitad, y la sombra, que no tiene donde proyectarse. */
.book .wrap{max-width:none;padding:0}
.book-form{
  max-width:none;
  margin:0;
  border-radius:0;
  border-left:0;
  border-right:0;
  box-shadow:none
}

/* 3. Alto de 90vh.
      min-height:0 es imprescindible: la regla original impone 520px de minimo y,
      en un celular apoyado de costado, 520px es MAS que 90vh, asi que sin esto
      el minimo le ganaba al alto pedido. */
.book-form > div{height:90vh;min-height:0}

/* El titulo y la bajada siguen con su medida de lectura: son texto, y a todo el
   ancho quedarian ilegibles. Lo que va a sangre completa es el panel. */
.book .book-head{max-width:720px;margin-left:auto;margin-right:auto;padding:0 24px}
.book .book-fallback{padding:0 24px}

@media (max-width:720px){
  /* En mobile el alto pedido se mantiene, pero se descuenta el header, que aca
     ya no es sticky y por lo tanto ocupa lugar real arriba del panel. */
  .book-form > div{height:90vh;min-height:0}
}
