/* ============================================================
   RESPONSIVE — escalado mobile → desktop
   ============================================================ */
@media (min-width: 600px) {
  .wrap { padding-left: 28px; padding-right: 28px; }
  .services__intro { grid-template-columns: 1fr 1fr; gap: 40px; }
  .strat-grid { grid-template-columns: 1fr 1fr; gap: 36px 32px; }
  .why-grid { grid-template-columns: 1fr 1fr; }
  .why-cell { padding: 32px 36px 32px 0; border-right: 1px solid var(--border-subtle); }
  .why-cell:nth-child(even) { border-right: none; padding-left: 36px; padding-right: 0; }
  .results-grid { grid-template-columns: repeat(3, 1fr); }
  .result-cell { padding: 8px 28px; border-top: none; border-left: 1px solid rgba(255,255,255,0.12); }
  .result-cell:first-child { border-left: none; padding-left: 0; }
  .rmq-item { width: 320px; }
  .cmq-tile { width: 170px; height: 86px; }
}

@media (min-width: 768px) {
  .wrap { padding-left: 40px; padding-right: 40px; }
  .sec { padding-top: 88px; padding-bottom: 88px; }
  .sec-sm { padding-top: 64px; padding-bottom: 64px; }
  .site-header__bar { height: 72px; }
  .site-header__logo img { height: 34px; }
  .site-nav { display: flex; gap: 4px; }
  .site-nav a { text-decoration: none; font-weight: 600; font-size: 15px; color: var(--navy-600); padding: 8px 14px; border-radius: 8px; transition: var(--transition); }
  .site-nav a:hover { color: var(--navy-900); }
  .site-header__cta { display: flex; gap: 16px; align-items: center; }
  .site-header__cta .phone { text-decoration: none; font-weight: 700; font-size: 15px; color: var(--navy-700); white-space: nowrap; }
  .burger { display: none; }
  .hero__inner { padding-top: 112px; padding-bottom: 48px; }
  .message__inner { padding-top: 72px; padding-bottom: 64px; }
  .message__grid { grid-template-columns: 1.05fr 0.95fr; gap: 56px; }
  .hero-stats { border-top: none; border-left: 1px solid var(--border-subtle); padding-top: 0; padding-left: 32px; }
  .hero-stats .stat__v { font-size: 46px; }
  .proof__inner { padding-top: 34px; padding-bottom: 34px; }
  .pwall { gap: 20px 40px; }
  .pwall-item { width: 150px; }
  .pwall-tile { height: 78px; }
  .pwall-tile img { max-height: 48px; }
  .recognition__grid { grid-template-columns: 1fr 1fr; gap: 56px; }
  .content__grid { grid-template-columns: 1fr 1fr; gap: 56px; }
  .adv__grid { grid-template-columns: 1.15fr 0.85fr; gap: 64px; }
  .strat-grid { grid-template-columns: repeat(3, 1fr); gap: 44px 40px; }
  .final__grid { grid-template-columns: 1fr 1fr; gap: 64px; }
  .faq__grid { grid-template-columns: 1.15fr 0.85fr; gap: 64px; }
  .site-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 40px; padding-top: 68px; }
  .form-card { padding: 28px; }
}

@media (min-width: 1024px) {
  .method__grid { grid-template-columns: 1.15fr 0.85fr; gap: 72px; }
  .method__intro { position: sticky; top: 96px; }
  .adv__sticky { position: sticky; top: 96px; }
  .faq__intro { position: sticky; top: 96px; }
  .hero-stats .stat__v { font-size: 46px; }
}

@media (min-width: 1180px) {
  .hero__rocket { display: block; position: absolute; right: 5%; top: 16%; width: 340px; height: 380px; pointer-events: none; }
  .hero__rocket img { position: absolute; right: 26px; top: 4px; width: 104px; height: 104px; filter: drop-shadow(0 16px 32px rgba(12,88,228,0.32)); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .cmq-track, .rmq-track, .hero__scroll svg, .rot-line { animation: none !important; transition: none !important; }
  .rot-line { opacity: 0; }
  .rot-line.on { opacity: 1; }
}

/* ============================================================
   MÓVIL — barra de acción fija (lead-gen) y densidad de lectura
   ============================================================ */
.mcta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; display: flex; gap: 10px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(255,255,255,0.93); backdrop-filter: saturate(180%) blur(14px); -webkit-backdrop-filter: saturate(180%) blur(14px); border-top: 1px solid var(--border-subtle); box-shadow: 0 -8px 24px rgba(38,44,88,0.08); transform: translateY(130%); transition: transform .38s var(--ease-out); }
.mcta.show { transform: none; }
.mcta a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; border-radius: var(--radius-pill); font-family: var(--font-brand); font-weight: 700; font-size: 16px; text-decoration: none; }
.mcta__call { flex: 0 0 auto; padding: 0 20px; background: #fff; color: var(--navy-700); border: 1.5px solid var(--border-default); }
.mcta__call:active { background: var(--gray-100); }
.mcta__btn { flex: 1 1 auto; background: var(--navy-700); color: #fff; }
.mcta svg { flex: none; }
@media (max-width: 400px) { .mcta__btn { font-size: 13px; padding: 0 12px; } }
@media (max-height: 760px) { .hero__scroll { display: none; } }
@media (max-width: 767px) {
  body { -webkit-tap-highlight-color: rgba(29,166,223,0.18); }
  .site-footer__bottom-inner { padding-bottom: 24px; transition: padding-bottom .38s var(--ease-out); }
  body:has(.mcta.show) .site-footer__bottom-inner { padding-bottom: 88px; }
  .display { letter-spacing: -0.03em; line-height: 1.08; }
  .lead, .prose p, .prose li { text-wrap: pretty; }
  .message__actions .btn, .content__actions .btn, .final .btn { flex: 1 1 200px; }
  .reviews__head { align-items: flex-start; }
  .form-card { box-shadow: var(--shadow-lg); }
}
@media (min-width: 768px) { .mcta { display: none; } }

/* ============================================================
   HOME v2 — módulos del copy definitivo (acordeones, tabla, EN)
   ============================================================ */
.acc{border-top:1px solid var(--border-subtle)}
.acc-item{border-bottom:1px solid var(--border-subtle)}
.acc-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;padding:20px 2px;min-height:60px;font-family:var(--font-brand);font-weight:700;font-size:1.0625rem;letter-spacing:-0.01em;color:var(--navy-700);line-height:1.4}
.acc-item summary::-webkit-details-marker{display:none}
.acc-icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--gray-100);display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.acc-icon svg{transition:transform var(--dur-base) var(--ease-out)}
.acc-item[open] .acc-icon{background:var(--navy-700)}
.acc-item[open] .acc-icon svg{stroke:#fff;transform:rotate(45deg)}
.acc-body{padding:0 2px 22px;display:grid;gap:14px}
.acc-body p{margin:0;font-size:16.5px;line-height:1.7;color:var(--text-body);max-width:720px}
.acc-grid{display:grid;grid-template-columns:1fr;gap:36px;align-items:start}
.acc-grid .display{font-size:clamp(2.05rem,1.2rem + 2.4vw,2.7rem);font-weight:800;margin:16px 0 16px}
.acc-grid__intro p{font-size:16.5px;line-height:1.66;color:var(--text-body);margin:0;max-width:420px}
@media (min-width:768px){.acc-grid{grid-template-columns:1.15fr 0.85fr;gap:64px}.acc-grid--flip{grid-template-columns:0.85fr 1.15fr}}
@media (min-width:1024px){.acc-grid__intro{position:sticky;top:96px}}
/* tabla de plazos */
.plazos{margin-top:44px;border:1px solid var(--border-subtle);border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--shadow-xs)}
.plazos-scroll{overflow-x:auto}
.plazos table{width:100%;border-collapse:collapse;min-width:620px}
.plazos th{background:var(--navy-950);color:#fff;text-align:left;font-weight:700;font-size:13.5px;letter-spacing:.03em;padding:14px 20px;white-space:nowrap}
.plazos td{padding:15px 20px;border-top:1px solid var(--border-subtle);font-size:15.5px;color:var(--text-body)}
.plazos td:first-child{font-weight:700;color:var(--navy-700)}
.plazos tbody tr:nth-child(even){background:var(--surface-subtle)}
/* servicios con título */
.svc-cell h3{font-weight:700;font-size:19px;letter-spacing:-0.01em;color:var(--navy-700);margin:0 0 10px}
.svc-cell h3 a{color:var(--navy-700);text-decoration:none;border-bottom:1.5px solid var(--sky-400)}
.svc-cell h3 a:hover{color:var(--grad-1);border-color:var(--grad-1)}
.svc-wide{grid-column:1/-1;background:var(--navy-950);border-radius:16px;padding:28px 24px}
.svc-wide .bar{width:36px;height:3px;background:var(--gradient-brand);border-radius:2px;margin-bottom:18px}
.svc-wide h3{color:#fff;font-weight:700;font-size:21px;letter-spacing:-0.01em;margin:0 0 12px}
.svc-wide p{color:rgba(255,255,255,0.78);font-size:16px;line-height:1.7;margin:0;max-width:860px}
@media (min-width:768px){.svc-wide{padding:36px 40px}}
/* factores — nota sticky */
.factor-note{background:#fff;border:1px solid var(--border-subtle);border-radius:14px;padding:26px;box-shadow:var(--shadow-xs)}
.factor-note p{font-size:16px;line-height:1.7;color:var(--text-body);margin:0}
/* CTA band con teléfono */
.cta-band__phone{color:#fff;font-family:var(--font-brand);font-weight:900;letter-spacing:-0.025em;line-height:1.15;font-size:clamp(1.5rem,1rem + 1.9vw,2.2rem);margin:0}
.cta-band__phone a{color:#fff;text-decoration:none;border-bottom:3px solid rgba(255,255,255,0.45)}
.cta-band__phone a:hover{border-color:#fff}
/* CTA tras resultados */
.results__cta{margin-top:40px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.results__cta .phone-lnk{color:#fff;font-weight:700;font-size:16.5px;text-decoration:none;border-bottom:2px solid var(--sky-500);display:inline-flex;align-items:center;min-height:44px}

/* ---------- Placeholder de imagen (las imágenes reales se cargan desde el back/CMS) ---------- */
.img-ph{display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;background:repeating-linear-gradient(45deg,var(--gray-100),var(--gray-100) 12px,#fff 12px,#fff 24px);border:1.5px dashed var(--border-default);color:var(--text-muted);font-size:13px;font-weight:600;line-height:1.4;border-radius:12px;overflow:hidden}
.img-ph span{max-width:34ch}
