/*/* =========================================================
   ESTILOS EXCLUSIVOS DE LA LANDING (Mantenimiento Industrial)
   Tipografía ajustada para igualar a Elementor
   ========================================================= */
.mi-landing {
  font-family: 'Rubik', system-ui, sans-serif;
  color: #41505f;
  line-height: 1.65;
  background: #ffffff;
}

/* Títulos (Imitando el tamaño y peso de Elementor) */
.mi-landing h1, .mi-landing h2, .mi-landing h3, .mi-landing h4 {
  font-family: 'Archivo', system-ui, sans-serif;
  color: #001021;
  margin: 0 0 20px;
  font-weight: 700;
}

/* Título principal (Hero) - Equivalente al H2 grande de Elementor */
.mi-landing .hero h1 {
  font-size: 48px; /* Tamaño exacto del original */
  line-height: 1.2;
  font-weight: 800;
  margin-bottom: 24px;
}

/* Títulos de sección - Equivalente a los H2 de Elementor */
.mi-landing .section-head h2, 
.mi-landing .about-text h2,
.mi-landing .cta-banner h2 {
  font-size: 40px;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 20px;
}

/* Subtítulos en las tarjetas */
.mi-landing h3 {
  font-size: 20px;
  line-height: 1.3;
  font-weight: 600;
}

/* Párrafos y textos (Imitando el tamaño de Elementor) */
.mi-landing p {
  font-size: 18px; /* Elementor suele usar 18px para textos introductorios */
  line-height: 1.7;
  margin: 0 0 1.2em;
}

/* Texto del Hero */
.mi-landing .hero .lead {
  font-size: 20px;
  line-height: 1.6;
  font-weight: 400;
  margin-bottom: 30px;
}

/* Textos de las tarjetas (más pequeños) */
.mi-landing .icon-box p, 
.mi-landing .benefit p,
.mi-landing .step p {
  font-size: 16px;
  line-height: 1.6;
}

/* Ajustes de interfaz (Botones, etiquetas, etc.) */
.mi-landing .highlight { color: #3475F5; }
.mi-landing .container { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.mi-landing .section { padding: 90px 0; }
.mi-landing .section--alt { background: #f5f8fd; }
.mi-landing .section-head { max-width: 800px; margin-bottom: 56px; }
.mi-landing .section-head.center { margin-left: auto; margin-right: auto; text-align: center; }
.mi-landing .center { text-align: center; }

/* Botones */
.mi-landing .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 26px; border-radius: 10px;
  background: #3475F5; color: #fff !important;
  font-weight: 600; font-size: 16px; text-transform: uppercase;
  letter-spacing: .06em; transition: .2s; border: 2px solid #3475F5;
  cursor: pointer; font-family: 'Rubik', sans-serif;
}
.mi-landing .btn:hover { background: #1f56c9; border-color: #1f56c9; transform: translateY(-2px); }
.mi-landing .btn-ghost { background: transparent; color: #001021 !important; border-color: #e3e9f2; }
.mi-landing .btn-ghost:hover { background: #001021; border-color: #001021; color: #fff !important; }
.mi-landing .btn-sm { padding: 10px 18px; font-size: 14px; }

/* Hero */
.mi-landing .hero { padding: 80px 0 90px; background: radial-gradient(1200px 500px at 85% -10%, #e8f0ff, transparent 60%); }
.mi-landing .hero-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.mi-landing .eyebrow { display: inline-block; padding: 6px 14px; border-radius: 999px; background: #eaf1ff; color: #3475F5; font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 20px; }
.mi-landing .hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 28px; }
.mi-landing .hero-badges { display: flex; flex-wrap: wrap; gap: 10px 22px; list-style: none; padding: 0; margin: 0; font-size: 16px; font-weight: 500; color: #001021; }
.mi-landing .hero-badges li { display: flex; align-items: center; gap: 8px; }
.mi-landing .hero-badges li::before { content: "✓"; display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: #3475F5; color: #fff; font-size: 12px; font-weight: 700; }
.mi-landing .hero-media img { border-radius: 18px; box-shadow: 0 20px 50px -20px rgba(0,16,33,.18); }

/* Dolores */
.mi-landing .pain-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 32px; align-items: center; }
.mi-landing .pain-col { display: flex; flex-direction: column; gap: 28px; }
.mi-landing .pain-media img { border-radius: 18px; box-shadow: 0 20px 50px -20px rgba(0,16,33,.18); }
.mi-landing .icon-box { position: relative; padding-left: 44px; }
.mi-landing .icon-box::before { content: "✓"; position: absolute; left: 0; top: 2px; width: 28px; height: 28px; border-radius: 50%; background: #eaf1ff; color: #3475F5; display: grid; place-items: center; font-weight: 700; font-size: 14px; }
.mi-landing .icon-box h3 { margin-bottom: 8px; }
.mi-landing .icon-box p { margin: 0; }

/* Testimonio */
.mi-landing .quote-section { padding: 0 0 100px; }
.mi-landing .quote-card { max-width: 760px; margin: 0 auto; background: #fff; border: 1px solid #e3e9f2; border-radius: 18px; box-shadow: 0 20px 50px -20px rgba(0,16,33,.18); padding: 56px 48px; text-align: center; }
.mi-landing .quote-mark { font-family: 'Archivo'; font-size: 80px; line-height: .6; color: #3475F5; opacity: .3; margin-bottom: 8px; }
.mi-landing .quote-card .avatar { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; margin: 0 auto 16px; border: 4px solid #eaf1ff; }
.mi-landing .quote-card h4 { font-size: 20px; margin-bottom: 4px; }
.mi-landing .quote-card .role { display: block; font-size: 14px; color: #6b7a8c; margin-bottom: 18px; }
.mi-landing .quote-text { font-size: 18px; font-style: italic; color: #001021; margin-bottom: 24px; }

/* Método */
.mi-landing .steps { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 8px; align-items: stretch; margin-bottom: 48px; }
.mi-landing .step { background: #fff; border: 1px solid #e3e9f2; border-radius: 18px; padding: 36px 28px; text-align: center; height: 100%; }
.mi-landing .step-num { display: inline-grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: #3475F5; color: #fff; font-family: 'Archivo'; font-weight: 800; font-size: 18px; margin-bottom: 18px; }
.mi-landing .step h3 { margin-bottom: 12px; }
.mi-landing .step p { margin: 0; }
.mi-landing .step-divider { width: 2px; height: 70px; align-self: center; border-radius: 2px; background: #e3e9f2; position: relative; }
.mi-landing .step-divider::after { content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 12px; height: 12px; border-radius: 50%; background: #3475F5; }

/* Resultados */
.mi-landing .about-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 60px; align-items: center; }
.mi-landing .about-media img { border-radius: 18px; box-shadow: 0 20px 50px -20px rgba(0,16,33,.18); }
.mi-landing .check-list { list-style: none; padding: 0; margin: 0 0 28px; }
.mi-landing .check-list li { position: relative; padding-left: 38px; margin-bottom: 14px; font-weight: 500; font-size: 18px; color: #001021; }
.mi-landing .check-list li::before { content: "✓"; position: absolute; left: 0; top: 2px; width: 24px; height: 24px; border-radius: 50%; background: #eaf1ff; color: #3475F5; display: grid; place-items: center; font-size: 14px; font-weight: 700; }

/* Beneficios */
.mi-landing .benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.mi-landing .benefit { background: #fff; border: 1px solid #e3e9f2; border-radius: 18px; padding: 32px 28px; transition: .25s; }
.mi-landing .benefit:hover { transform: translateY(-4px); box-shadow: 0 20px 50px -20px rgba(0,16,33,.18); border-color: transparent; }
.mi-landing .benefit .icon { width: 48px; height: 48px; border-radius: 12px; background: #eaf1ff; color: #3475F5; display: grid; place-items: center; margin-bottom: 18px; }
.mi-landing .benefit h3 { margin-bottom: 12px; }

/* Sectores */
.mi-landing .tags { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 32px; }
.mi-landing .tag { padding: 10px 18px; border-radius: 999px; border: 1px solid #e3e9f2; background: #fff; font-size: 16px; font-weight: 500; color: #001021; transition: .2s; }
.mi-landing .tag:hover { border-color: #3475F5; color: #3475F5; background: #eaf1ff; }

/* Casos */
.mi-landing .cases { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px 40px; }
.mi-landing .case { display: block; border-radius: 18px; overflow: hidden; background: #fff; border: 1px solid #e3e9f2; transition: .25s; color: inherit; }
.mi-landing .case:hover { transform: translateY(-4px); box-shadow: 0 20px 50px -20px rgba(0,16,33,.18); border-color: transparent; color: inherit; }
.mi-landing .case img { aspect-ratio: 16/9; object-fit: cover; width: 100%; }
.mi-landing .case__body { padding: 24px; }
.mi-landing .case__body h3 { margin-bottom: 8px; }
.mi-landing .case__result { font-size: 16px; color: #3475F5; font-weight: 600; }

/* CTA Final */
.mi-landing .cta-section { padding: 0 0 100px; }
.mi-landing .cta-banner { background: #001021; color: #fff; border-radius: 18px; padding: 64px 48px; text-align: center; }
.mi-landing .cta-banner h2 { color: #fff; max-width: 820px; margin-left: auto; margin-right: auto; }
.mi-landing .cta-banner p { color: rgba(255,255,255,.75); max-width: 640px; margin: 0 auto 28px; font-size: 20px; }

/* Responsive */
@media (max-width: 991px) {
  .mi-landing .hero-inner { grid-template-columns: 1fr; gap: 40px; text-align: center; }
  .mi-landing .hero-actions, .mi-landing .hero-badges { justify-content: center; }
  .mi-landing .hero h1 { font-size: 38px; }
  .mi-landing .section-head h2, .mi-landing .about-text h2 { font-size: 32px; }
  .mi-landing .pain-grid { grid-template-columns: 1fr; }
  .mi-landing .steps { grid-template-columns: 1fr; }
  .mi-landing .step-divider { width: 70px; height: 2px; margin: 10px auto; }
  .mi-landing .about-grid { grid-template-columns: 1fr; }
  .mi-landing .benefits { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .mi-landing .hero h1 { font-size: 32px; }
  .mi-landing .section-head h2, .mi-landing .about-text h2 { font-size: 28px; }
  .mi-landing .pain-grid, .mi-landing .benefits, .mi-landing .cases { grid-template-columns: 1fr; }
  .mi-landing .quote-card { padding: 40px 26px; }
  .mi-landing .cta-banner { padding: 48px 26px; }
  .mi-landing .hero .btn { width: 100%; margin-bottom: 12px; display: block; }
}